• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    Python在光收發(fā)模塊測(cè)試腳本中的實(shí)現(xiàn)

    2024-09-15 00:00:00羅震
    物聯(lián)網(wǎng)技術(shù) 2024年6期
    關(guān)鍵詞:固件測(cè)試用例腳本

    摘 要:光收發(fā)模塊固件開發(fā)需根據(jù)不同的客戶需求而定制,使得測(cè)試用例不斷增加,因此長(zhǎng)時(shí)間的壓力測(cè)試也日益增多,為了節(jié)省測(cè)試用例編寫時(shí)間,提出了用Python語言編寫光收發(fā)模塊固件測(cè)試腳本的方法。文中介紹了基于Python調(diào)用動(dòng)態(tài)鏈接庫、構(gòu)建測(cè)試環(huán)境、編寫測(cè)試用例腳本等內(nèi)容。結(jié)果表明,選用Python易于編寫測(cè)試用例,提高了測(cè)試效率。

    關(guān)鍵詞:光收發(fā)模塊;Python;測(cè)試腳本;動(dòng)態(tài)鏈接庫;ctypes;SFF-8472

    中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-1302(2024)06-0-03

    0 引 言

    光收發(fā)模塊是光通信系統(tǒng)的重要組成部分,是光纖通信系統(tǒng)中光電轉(zhuǎn)化的器件。本地終端將待傳輸?shù)碾娦盘?hào)由光收發(fā)模塊的電/光(E/O)轉(zhuǎn)換為適宜傳輸?shù)墓庑盘?hào)發(fā)送到光纖鏈路中,再由遠(yuǎn)方終端的另一個(gè)模塊把接收的光信號(hào)經(jīng)光收發(fā)模塊的光/電(O/E)轉(zhuǎn)換為電信號(hào)輸出給遠(yuǎn)方終端主機(jī),從而實(shí)現(xiàn)異地終端通信[1]。光收發(fā)模塊要滿足MSA協(xié)議的數(shù)字診斷監(jiān)測(cè)和監(jiān)控信號(hào)實(shí)時(shí)監(jiān)測(cè)[2]、模擬量溫度補(bǔ)償以及系統(tǒng)I2C和突發(fā)Trigger中斷處理要求,因此固件(Firmware)測(cè)試是很重要的環(huán)節(jié)。

    光模塊固件功能和性能測(cè)試是嚴(yán)謹(jǐn)、細(xì)致的工作,在固件交付給硬件工程師調(diào)測(cè)之前必須完成全面測(cè)試。具體測(cè)試方法主要包括白盒測(cè)試和黑盒測(cè)試。黑盒測(cè)試可稱為功能測(cè)試、數(shù)據(jù)驅(qū)動(dòng)測(cè)試或基于需求說明的測(cè)試,是在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,檢查輸入與輸出之間的關(guān)系是否符合要求[3]。我們?cè)谕瓿晒碳缀袦y(cè)試的條件下,黑盒測(cè)試主要是為滿足不同用戶對(duì)MSA多源協(xié)議的開放區(qū)域和加密區(qū)域需求以及面對(duì)潛在資源訪問沖突風(fēng)險(xiǎn)而進(jìn)行的測(cè)試。如果采用人工手動(dòng)測(cè)試,往往按照測(cè)試用例步驟反復(fù)操作,工作量很大,并且單調(diào)重復(fù)的工作容易出錯(cuò);其次,系統(tǒng)壓力測(cè)試、性能測(cè)試需要模擬用戶系統(tǒng)測(cè)試場(chǎng)景;最后,固件是否能長(zhǎng)時(shí)間可靠運(yùn)行也非手工測(cè)試可以執(zhí)行。因此,需要軟件開發(fā)人員開發(fā)自動(dòng)化測(cè)試方案。光模塊的自動(dòng)化測(cè)試有幾種形式,最常見的是基于傳統(tǒng)的文本語言軟件開發(fā)環(huán)境,常用的有LabWindows/CVI、VB、VC++、C#等;一種是基于圖形化語言軟件開發(fā)環(huán)境,常用的有NI的LabVIEW編寫的GUI程序測(cè)試,或使用工具命令語言TCL編寫腳本測(cè)試[4]。軟件測(cè)試中,腳本技術(shù)的引入是實(shí)現(xiàn)軟件測(cè)試自動(dòng)化技術(shù)的有效手段[5],Python易學(xué)易用,有更多模塊庫的支持,在編寫測(cè)試腳本中具有很大優(yōu)勢(shì)。

    Python是一種面向?qū)ο蟮慕忉屝愿呒?jí)編程語言,具有動(dòng)態(tài)語義[6]。Python的優(yōu)點(diǎn)是易讀易維護(hù)、可擴(kuò)展、可移植、擁有豐富的庫支撐[7]。Python是開發(fā)腳本的絕佳工具,Python的最大缺點(diǎn)是其整體性能。作為一種解釋性語言,Python比一些編譯語言(如C)慢。在一些重視速度的任務(wù)中,會(huì)影響測(cè)試性能。但可以把Python腳本編寫優(yōu)勢(shì)與其他語言的優(yōu)勢(shì)融合,使用Python開發(fā)自動(dòng)測(cè)試腳本,同時(shí)對(duì)于性能關(guān)鍵型和特定設(shè)備的驅(qū)動(dòng)程序代碼則仍使用其他語言,比如C,通過調(diào)用C語言編寫的動(dòng)態(tài)庫來克服其缺點(diǎn)??梢杂肞ython的擴(kuò)展工具ctypes。ctypes最初是Thomas Heller開發(fā)的一個(gè)項(xiàng)目,但現(xiàn)在包含在標(biāo)準(zhǔn)庫中,雖然存在一些限制,但這可能是訪問C語言代碼的最簡(jiǎn)單方式之一,只需將庫導(dǎo)入就可使用。

    1 光收發(fā)模塊測(cè)試接口

    訪問光收發(fā)模塊監(jiān)控量接口時(shí)遵循多元協(xié)議,即SFF-8472協(xié)議。xPon的OLT和ONU使用SFF-8472協(xié)議實(shí)現(xiàn)對(duì)光鏈路的測(cè)量和診斷[8]。A0和A2地址值是SFF-8472規(guī)定的從設(shè)備地址值,每個(gè)地址可訪問256 B數(shù)據(jù),如圖1所示[9]。A2地址還可通過127字段來選擇擴(kuò)展頁,其中128到255頁供光模塊生產(chǎn)商使用,一般用來調(diào)試接口或存儲(chǔ)數(shù)據(jù)。

    2 搭建Python自動(dòng)化測(cè)試腳本環(huán)境

    2.1 Python調(diào)用動(dòng)態(tài)鏈接庫的方法

    Python調(diào)用C語言編寫動(dòng)態(tài)鏈接庫,不僅要兼容C接口的調(diào)用習(xí)慣,還要兼容C語言的數(shù)據(jù)類型。而ctypes庫已經(jīng)做了這兩方面工作,使得調(diào)用動(dòng)態(tài)鏈接庫非常方便。ctypes導(dǎo)出cdll以及Windows下的windll和oledll對(duì)象,用于加載動(dòng)態(tài)鏈接庫。通過訪問這3個(gè)對(duì)象的屬性,就可以調(diào)用動(dòng)態(tài)鏈接庫的函數(shù)。cdll加載使用標(biāo)準(zhǔn)cdecl調(diào)用約定導(dǎo)出函數(shù)的庫,而windll庫使用stdcall調(diào)用約定函數(shù)。oledll使用stdcall調(diào)用約定,且返回值是Windows中返回的HRESULT值[10]。在Python程序中添加import ctype語句就可以導(dǎo)入ctypes庫。

    2.2 cdll庫的加載

    測(cè)試腳本需要加載2種不同調(diào)用約定方式的動(dòng)態(tài)鏈接庫,一種是cdll,另一種是windll。按cdll調(diào)用約定的動(dòng)態(tài)鏈接庫ATEAPI.dll是測(cè)試板驅(qū)動(dòng)程序,主要由USB訪問、I2C讀寫、測(cè)試板電源控制等底層操作函數(shù)組成,該動(dòng)態(tài)鏈接庫的加載如下:

    self.objdll = ctypes.cdll.LoadLibrary(\".\ATEAPI.dll\")

    2.2.1 測(cè)試板類的設(shè)計(jì)

    可以設(shè)計(jì)一個(gè)類,在類中加載動(dòng)態(tài)鏈接庫ATEAPI.dll,并增加屬性和方法,便于測(cè)試腳本調(diào)用,具體代碼如下:

    class cTestEvb:

    def __init__(self, devusbindex=0):

    self.devUsbIndex = devusbindex

    # load dll

    self.objdll = ctypes.cdll.LoadLibrary(\".\ATEAPI.dll\")

    # use property

    def setUsbDevice(self, devusbindex):

    self.devUsbIndex = devusbindex

    def getUsbDevice(self):

    return self.devUsbIndex

    devusbindex = property(setUsbDevice, getUsbDevice)

    # Open USB Device

    def openUsbDevice(self):

    usbHandle = None

    usbHandle = self.objdll.AteOpenDevice(self.devUsbIndex)

    if usbHandle != None:

    print(\"Open USB device {}\".format(self.devUsbIndex))

    self.objdll.AteCloseDevice(usbHandle)

    # Slot Power On

    def AteAllPowerOn(self):

    self.objdll.AteSffPowerOn(self.devUsbIndex)

    self.objdll.AteSfpPowerOn(self.devUsbIndex)

    def AteAllPowerOff(self):

    self.objdll.AteSffPowerOff(self.devUsbIndex)

    self.objdll.AteSfpPowerOff(self.devUsbIndex)

    在編寫測(cè)試腳本程序時(shí),首先創(chuàng)建類的對(duì)象,然后打開USB設(shè)備和測(cè)試板電源,代碼如下:

    testEvb = cTestEvb(devUsbIndex)

    testEvb.openUsbDevice()

    testEvb.AteAllPowerOn()

    2.3 windll庫的加載

    另一個(gè)動(dòng)態(tài)鏈接庫是CommandIndex.dll,該庫可以完成一些測(cè)試命令的解析,通過在測(cè)試腳本輸入命令的方式測(cè)試光模塊,比直接操作光模塊A2擴(kuò)展頁中的寄存器更加方便快捷,因?yàn)檫@樣無需反復(fù)查看固件工程師編寫的Memory map文件,只需輸入命令,經(jīng)過CommandIndex.dll解析命令轉(zhuǎn)換為一幀含有包頭、包尾、累加和校驗(yàn)的數(shù)據(jù)包。光模塊接收這幀數(shù)據(jù)并解析命令后調(diào)用對(duì)應(yīng)函數(shù)或讀寫數(shù)據(jù),再將讀數(shù)據(jù)打包,返回上位機(jī)。CommandIndex.dll的接口函數(shù)AteCmdSer完成命令輸入與數(shù)據(jù)輸出,函數(shù)原型如下:

    __declspec(dllexport) int __stdcall AteCmdSer(char* ArgIn, char* ArgOut);

    ArgIn命令以字符串輸入,ArgOut數(shù)據(jù)以字符串輸出。

    AteCmdSer函數(shù)負(fù)責(zé)接收輸入命令、解析命令、執(zhí)行命令(執(zhí)行時(shí)調(diào)用測(cè)試板動(dòng)態(tài)鏈接庫ATEAPI.dll的驅(qū)動(dòng)程序),返回結(jié)果。

    CommandIndex.dll按照stdcall調(diào)用約定,所以按如下語句加載動(dòng)態(tài)庫:

    cmdservdll=ctypes.windll.LoadLibrary(\".\CommandIndex.dll\")

    2.3.1 定義和注冊(cè)回調(diào)函數(shù)

    在光模塊測(cè)試中,光模塊與外界唯一的通信接口是I2C總線,不論任何命令,最終發(fā)給光模塊的數(shù)據(jù)均以I2C總線為載體,而CommandIndex.dll是通用鏈接庫,ATEAPI.dll是測(cè)試板專用鏈接庫,因此針對(duì)不同的測(cè)試板或設(shè)備需要指定I2C讀寫的調(diào)用函數(shù),然后將I2C讀函數(shù)和I2C寫函數(shù)的指針傳遞給CommandIndex.dll,即注冊(cè)這2個(gè)回調(diào)函數(shù)。定義I2C讀函數(shù)和I2C寫函數(shù),可以看到調(diào)用ATEAPI.dll的I2C讀寫函數(shù):

    def I2C_Read(nDev, nReg, nLen, pbyBuf):

    pbyValBuff = ctypes.c_ubyte * 256

    pbyVal = pbyValBuff()

    wRes = testEvb.objdll.AteIicRandomRead(devusbindex, devSffChannel, nDev, nReg, nLen, pbyVal)

    if 0 == wRes:

    for i in range(nLen):

    pbyBuf[i] = pbyVal[i]

    return wRes

    def I2C_Write(nDev, nReg, nLen, pbyDat):

    pbyValBuff = ctypes.c_ubyte * 256

    pbyVal = pbyValBuff()

    for i in range(nLen):

    pbyVal[i % 256] = pbyDat[i]

    byRes = testEvb.objdll.AteIicRandomWrite(devusbindex, devSffChannel, nDev, nReg, nLen, ctypes.byref(pbyVal))

    return byRes

    ctypes允許從Python調(diào)用函數(shù)創(chuàng)建C可調(diào)用函數(shù)指針,有時(shí)稱為回調(diào)函數(shù)。首先,必須為回調(diào)函數(shù)創(chuàng)建一個(gè)類。該類知道調(diào)用約定、返回類型以及該函數(shù)將接收的參數(shù)數(shù)量和類型。CFUNCTYPE()函數(shù)使用cdecl調(diào)用約定為回調(diào)函數(shù)創(chuàng)建類型。在Windows下,WINFUNCTYPE()函數(shù)使用stdcall調(diào)用約定為回調(diào)函數(shù)創(chuàng)建類型。調(diào)用這2個(gè)工廠函數(shù)時(shí),將結(jié)果類型作為第一個(gè)參數(shù),回調(diào)函數(shù)預(yù)期的參數(shù)類型作為剩余參數(shù)。

    由于dll中調(diào)用約定是stdcall,所以使用WINFUNCTYPE()

    作為回調(diào)函數(shù)創(chuàng)建類型:

    I2C_Read_FUNC = ctypes.WINFUNCTYPE(ctypes.c_int, ctypes.c_int, ctypes.c_int, ctypes.c_int, ctypes.POINTER(ctypes.c_ubyte))

    I2C_Write_FUNC = ctypes.WINFUNCTYPE(ctypes.c_int, ctypes.c_int, ctypes.c_int, ctypes.c_int, ctypes.POINTER(ctypes.c_ubyte))

    接下來調(diào)用動(dòng)態(tài)鏈接庫CommandIndex.dll中的RegistCallBackFunciton進(jìn)行注冊(cè),注冊(cè)函數(shù)原型如下:

    __declspec(dllexport) int __stdcall RegistCallBackFunciton(char* ArgIn, pBkFun pFun);

    將回調(diào)函數(shù)指針以及對(duì)應(yīng)的命令作為參數(shù)注冊(cè):

    _i2c_write_func = I2C_Write_FUNC(I2C_Write)

    cmdType = b\"I2C_WRITE\"

    cmdservdll.RegistCallBackFunciton(ctypes.string_at(cmdType), _i2c_write_func)

    i2c_read_func = I2C_Read_FUNC(I2C_Read)

    cmdType = b'I2C_READ'

    cmdservdll.RegistCallBackFunciton(ctypes.string_at(cmdType), _i2c_read_func)

    至此,我們就架起了測(cè)試腳本命令和測(cè)試板I2C讀寫的橋梁。

    2.3.2 命令實(shí)現(xiàn)舉例

    例如要讀固件版本的命令是“MCU_GET_VERSION()”,我們可以這樣設(shè)計(jì)代碼:

    strCmdIn = create_string_buffer(b'MCU_GET_VERSION()')

    strCmdOutBuff = ctypes.c_ubyte*64

    strCmdOut = strCmdOutBuff()

    strFwVer = []

    retStauts = cmdservdll. AteCmdSer (strCmdIn, strCmdOut)

    if 0 == retStauts:

    strFwVer = [chr(strCmdOut[item]) for item in range(len(strCmdOut)) if 0 != strCmdOut[item]]

    else:

    print(\"Can't get firmware version, stop test ! \")

    sys.exit()

    strFwVer = ''.join(strFwVer)

    字符串格式為固件編號(hào)_版本號(hào)_編譯時(shí)間,讀出結(jié)果如下所示:

    FEP91_1.3_20220426115813

    3 編寫Python測(cè)試腳本

    完成Python測(cè)試腳本測(cè)試環(huán)境的搭建后,可以很快編寫出測(cè)試用例腳本,以一個(gè)讀寫SFF-8472協(xié)議中的A2地址值0到96字段的壓力測(cè)試為例,流程如圖2所示。

    該壓力測(cè)試腳本可以自行設(shè)定測(cè)試次數(shù),我們以測(cè)試

    10次為例演示測(cè)試腳本的過程和結(jié)果,如圖3所示。

    4 結(jié) 語

    本文提出了一種新穎的自動(dòng)化腳本測(cè)試—采用Python編寫光收發(fā)模塊自動(dòng)化測(cè)試腳本,詳細(xì)描述了如何搭建Python語言測(cè)試腳本的使用環(huán)境,并演示了自動(dòng)化腳本的編寫以及運(yùn)行結(jié)果。經(jīng)實(shí)際工作證明,針對(duì)不同的測(cè)試需求,能夠快速開發(fā)出測(cè)試腳本,提高測(cè)試效率,較好應(yīng)對(duì)客戶定制光模塊固件所帶來的需求變化。后續(xù)我們考慮充分利用Python強(qiáng)大的程序庫的支持,尤其在字符串處理、數(shù)據(jù)可視化、圖表輸出等方面,對(duì)測(cè)試結(jié)果進(jìn)行數(shù)據(jù)分析,為定位固件bug、性能分析提供強(qiáng)有力的支撐。

    參考文獻(xiàn)

    [1]胡慶紅. SFP光收發(fā)模塊測(cè)試平臺(tái)的研究與設(shè)計(jì)[D].武漢:武漢理工大學(xué),2013.

    [2]蘇友章,周劍揚(yáng),郭元章.基于通用MCU的智能SFP光模塊設(shè)計(jì)[J].福建電腦,2009,25(3):134-135.

    [3]劉戈.嵌入式軟件測(cè)試[J].長(zhǎng)嶺技術(shù),2006(2):3.

    [4]李志報(bào),袁亮.基于Tcl/Tk語言的自動(dòng)化測(cè)試平臺(tái)的實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2013,39(1):59-61.

    [5]于以序,何艷敏,左雪梅,等.實(shí)時(shí)嵌入式軟件測(cè)試研究[J].中國(guó)測(cè)試技術(shù),2004,30(5):3-6.

    [6][挪] Magnus Lie HetLand. Python基礎(chǔ)教程[M]. 3版.袁國(guó)忠,譯. 北京:人民郵電出版社,2018.

    [7]百度百科. Python(計(jì)算機(jī)編程語言)[EB/OL]. [2023-05-25].https://baike.baidu.com/item/Python/407313?fr=aladdin.

    [8]吳承英,吳航,張志強(qiáng).光接入網(wǎng)實(shí)用技術(shù)[M].北京:人民郵電出版社,2019.

    [9] SINA.SFF-8472-R12.4.pdf [EB/OL].[2021-03-31].https://www.snia.org/technology-communities/sff/specifications.

    [10] Python官方網(wǎng)站. ctypes-A foreign function library for Python[EB/OL]. [2023-06-07]. https://docs.python.org/3/library/ctypes.html.

    作者簡(jiǎn)介:羅 震(1972—),男,工程碩士,工程師,主要從事光通信行業(yè)光收發(fā)模塊固件開發(fā)工作。

    猜你喜歡
    固件測(cè)試用例腳本
    酒駕
    安奇奇與小cool 龍(第二回)
    基于SmartUnit的安全通信系統(tǒng)單元測(cè)試用例自動(dòng)生成
    數(shù)據(jù)庫系統(tǒng)shell腳本應(yīng)用
    基于混合遺傳算法的回歸測(cè)試用例集最小化研究
    快樂假期
    基于固件的遠(yuǎn)程身份認(rèn)證
    提取ROM固件中的APP
    電腦愛好者(2015年7期)2015-04-09 08:54:02
    基于依賴結(jié)構(gòu)的測(cè)試用例優(yōu)先級(jí)技術(shù)
    一種通過USB接口的可靠固件升級(jí)技術(shù)
    啦啦啦观看免费观看视频高清| 男人舔奶头视频| 久久99热这里只有精品18| 男女之事视频高清在线观看| 欧美色欧美亚洲另类二区| av在线老鸭窝| 日本-黄色视频高清免费观看| 久久99热这里只有精品18| 一区二区三区四区激情视频 | АⅤ资源中文在线天堂| 俺也久久电影网| 精品久久久久久成人av| 又紧又爽又黄一区二区| 3wmmmm亚洲av在线观看| 舔av片在线| 1024手机看黄色片| 国产探花在线观看一区二区| 久久精品91蜜桃| 丰满的人妻完整版| 欧美成人a在线观看| 欧美日韩亚洲国产一区二区在线观看| h日本视频在线播放| 美女大奶头视频| 一级毛片久久久久久久久女| 国产视频内射| 伦精品一区二区三区| 22中文网久久字幕| 露出奶头的视频| 熟女人妻精品中文字幕| 中文字幕av在线有码专区| 我的老师免费观看完整版| 日韩欧美三级三区| 麻豆国产av国片精品| 国产久久久一区二区三区| 亚洲av五月六月丁香网| www.色视频.com| 久久亚洲真实| 99久久成人亚洲精品观看| 伦理电影大哥的女人| 欧美bdsm另类| 毛片一级片免费看久久久久 | 韩国av一区二区三区四区| 午夜福利在线观看免费完整高清在 | 亚洲av第一区精品v没综合| 欧美色欧美亚洲另类二区| 欧美高清成人免费视频www| 22中文网久久字幕| 狂野欧美激情性xxxx在线观看| 狂野欧美白嫩少妇大欣赏| 可以在线观看毛片的网站| 亚洲成人久久性| 色吧在线观看| 国模一区二区三区四区视频| 大又大粗又爽又黄少妇毛片口| 999久久久精品免费观看国产| 免费电影在线观看免费观看| 久99久视频精品免费| 国产精品电影一区二区三区| 国产精品福利在线免费观看| 亚洲aⅴ乱码一区二区在线播放| 亚洲精品456在线播放app | 亚洲精品久久国产高清桃花| 欧美最黄视频在线播放免费| 欧美又色又爽又黄视频| 日本a在线网址| 亚洲精品456在线播放app | 午夜精品在线福利| 人妻丰满熟妇av一区二区三区| 午夜福利在线观看免费完整高清在 | 日本黄色视频三级网站网址| www.色视频.com| 嫁个100分男人电影在线观看| 国产综合懂色| 国产高清视频在线播放一区| 欧美一区二区亚洲| 欧美极品一区二区三区四区| 亚洲成人免费电影在线观看| 欧美性猛交黑人性爽| 无人区码免费观看不卡| 国产精品乱码一区二三区的特点| 99久久中文字幕三级久久日本| 男插女下体视频免费在线播放| 真实男女啪啪啪动态图| 久久精品91蜜桃| 十八禁网站免费在线| 麻豆成人午夜福利视频| 国产免费男女视频| 免费电影在线观看免费观看| 久久午夜亚洲精品久久| av专区在线播放| 国产午夜福利久久久久久| 波多野结衣高清作品| 国产人妻一区二区三区在| 日韩一区二区视频免费看| 91午夜精品亚洲一区二区三区 | 伦理电影大哥的女人| 色综合亚洲欧美另类图片| 99久久精品国产国产毛片| 黄色欧美视频在线观看| 最好的美女福利视频网| 校园人妻丝袜中文字幕| 十八禁国产超污无遮挡网站| 婷婷精品国产亚洲av在线| 欧美性感艳星| 欧美极品一区二区三区四区| 1000部很黄的大片| 久久久久久久午夜电影| 特大巨黑吊av在线直播| 精品不卡国产一区二区三区| 国国产精品蜜臀av免费| 欧美另类亚洲清纯唯美| 99久久久亚洲精品蜜臀av| 丰满乱子伦码专区| 中文字幕免费在线视频6| 国产老妇女一区| 99热只有精品国产| 韩国av在线不卡| 国产精品乱码一区二三区的特点| 天堂动漫精品| 久久精品国产99精品国产亚洲性色| 欧美精品啪啪一区二区三区| 亚洲国产欧洲综合997久久,| 成人鲁丝片一二三区免费| 国产精品乱码一区二三区的特点| 亚洲熟妇中文字幕五十中出| 午夜激情欧美在线| 变态另类成人亚洲欧美熟女| 99在线人妻在线中文字幕| 久久精品国产亚洲网站| 欧美最新免费一区二区三区| 亚洲av成人av| 男人狂女人下面高潮的视频| 亚洲中文字幕一区二区三区有码在线看| 黄色女人牲交| 久久九九热精品免费| 淫妇啪啪啪对白视频| 午夜福利高清视频| 亚洲黑人精品在线| 国产精品电影一区二区三区| av国产免费在线观看| 久久午夜福利片| 99热这里只有是精品50| 美女免费视频网站| 日韩亚洲欧美综合| 黄色配什么色好看| www.色视频.com| 麻豆国产av国片精品| 搡老熟女国产l中国老女人| 国内揄拍国产精品人妻在线| 国产成人av教育| 伊人久久精品亚洲午夜| 国产亚洲91精品色在线| 国产亚洲欧美98| 国产毛片a区久久久久| 日日撸夜夜添| 女人被狂操c到高潮| 国语自产精品视频在线第100页| 精品乱码久久久久久99久播| 干丝袜人妻中文字幕| 免费无遮挡裸体视频| 精品乱码久久久久久99久播| 午夜激情欧美在线| 国产精品久久久久久久电影| 少妇裸体淫交视频免费看高清| 亚洲美女搞黄在线观看 | 亚洲熟妇中文字幕五十中出| 午夜福利成人在线免费观看| 日韩中文字幕欧美一区二区| 久久久久久大精品| 中文字幕人妻熟人妻熟丝袜美| 老熟妇仑乱视频hdxx| 超碰av人人做人人爽久久| 久久久久精品国产欧美久久久| 99久久久亚洲精品蜜臀av| 观看美女的网站| 国产av一区在线观看免费| 午夜福利高清视频| 国模一区二区三区四区视频| 少妇的逼水好多| 国内揄拍国产精品人妻在线| 99精品久久久久人妻精品| 熟妇人妻久久中文字幕3abv| 九色成人免费人妻av| 老司机午夜福利在线观看视频| 99久久九九国产精品国产免费| 长腿黑丝高跟| 99久久成人亚洲精品观看| 亚洲 国产 在线| 丝袜美腿在线中文| 亚洲成av人片在线播放无| 黄色女人牲交| 非洲黑人性xxxx精品又粗又长| 成人国产综合亚洲| 91久久精品国产一区二区三区| 特大巨黑吊av在线直播| 男人舔奶头视频| 中亚洲国语对白在线视频| a级一级毛片免费在线观看| 欧美日韩精品成人综合77777| 久久九九热精品免费| 国产伦一二天堂av在线观看| АⅤ资源中文在线天堂| 天堂影院成人在线观看| av在线观看视频网站免费| 最后的刺客免费高清国语| 免费av观看视频| 久久99热这里只有精品18| 三级毛片av免费| h日本视频在线播放| 国国产精品蜜臀av免费| 九色国产91popny在线| 日日啪夜夜撸| 在线免费十八禁| 国产精品国产高清国产av| 精品久久国产蜜桃| 久久久久精品国产欧美久久久| 午夜福利在线在线| 好男人在线观看高清免费视频| 少妇熟女aⅴ在线视频| 哪里可以看免费的av片| 99热这里只有精品一区| 久久人人精品亚洲av| 久久久久国内视频| 国产伦一二天堂av在线观看| 国产成年人精品一区二区| 成年女人毛片免费观看观看9| 欧美日韩黄片免| 欧美成人性av电影在线观看| 亚洲中文日韩欧美视频| 国产亚洲91精品色在线| 精品久久久久久久久久久久久| 神马国产精品三级电影在线观看| 给我免费播放毛片高清在线观看| 色综合色国产| 欧美性猛交╳xxx乱大交人| 男女那种视频在线观看| 国产蜜桃级精品一区二区三区| 一本久久中文字幕| 日韩精品中文字幕看吧| 久久精品综合一区二区三区| 国产高清三级在线| 97人妻精品一区二区三区麻豆| 久久九九热精品免费| 亚洲国产精品合色在线| 久久精品影院6| 中出人妻视频一区二区| 精品人妻1区二区| 久久国内精品自在自线图片| 日本成人三级电影网站| 岛国在线免费视频观看| 尾随美女入室| a级毛片a级免费在线| 久久久久久久久久久丰满 | 亚洲国产色片| 一区二区三区激情视频| 嫩草影院入口| 伊人久久精品亚洲午夜| 美女xxoo啪啪120秒动态图| 国产在线精品亚洲第一网站| 丰满的人妻完整版| 国产精品伦人一区二区| 人人妻,人人澡人人爽秒播| 亚洲va在线va天堂va国产| 国产精品亚洲美女久久久| 国产欧美日韩精品亚洲av| 国产v大片淫在线免费观看| 久久热精品热| 麻豆成人午夜福利视频| 亚洲一区二区三区色噜噜| 99国产精品一区二区蜜桃av| 欧美激情国产日韩精品一区| 琪琪午夜伦伦电影理论片6080| 精品午夜福利视频在线观看一区| 又粗又爽又猛毛片免费看| 一边摸一边抽搐一进一小说| 成人国产综合亚洲| 国产高清有码在线观看视频| 日日摸夜夜添夜夜添av毛片 | 国产成人一区二区在线| 亚洲av日韩精品久久久久久密| 乱码一卡2卡4卡精品| 午夜福利欧美成人| 免费看av在线观看网站| 99国产极品粉嫩在线观看| 国产欧美日韩一区二区精品| 成年版毛片免费区| 日韩av在线大香蕉| 天天一区二区日本电影三级| 一夜夜www| 色综合婷婷激情| 亚洲精品色激情综合| 日本三级黄在线观看| 中文字幕av成人在线电影| 国产亚洲av嫩草精品影院| 婷婷亚洲欧美| 亚洲黑人精品在线| 成人高潮视频无遮挡免费网站| 久久久久久大精品| 赤兔流量卡办理| 欧美精品国产亚洲| 久久久久久久亚洲中文字幕| 国产91精品成人一区二区三区| 亚洲av不卡在线观看| 男女啪啪激烈高潮av片| 日本欧美国产在线视频| 欧美日韩综合久久久久久 | 国产亚洲精品av在线| 久久精品影院6| 久久人妻av系列| 国产蜜桃级精品一区二区三区| 女的被弄到高潮叫床怎么办 | 如何舔出高潮| 精品人妻1区二区| 国产美女午夜福利| 国产精品综合久久久久久久免费| 午夜福利视频1000在线观看| 日韩中文字幕欧美一区二区| 午夜福利在线观看吧| 国产精品亚洲美女久久久| 亚洲无线在线观看| 18+在线观看网站| 亚洲精品粉嫩美女一区| 日韩一区二区视频免费看| 97超视频在线观看视频| 中文在线观看免费www的网站| 国产精品福利在线免费观看| 成人鲁丝片一二三区免费| 人人妻,人人澡人人爽秒播| 可以在线观看的亚洲视频| 麻豆久久精品国产亚洲av| 久久国内精品自在自线图片| 日本黄大片高清| 男插女下体视频免费在线播放| 变态另类成人亚洲欧美熟女| 欧美xxxx黑人xx丫x性爽| 成人国产综合亚洲| 欧美黑人巨大hd| 国产精品乱码一区二三区的特点| 天美传媒精品一区二区| 国产精品野战在线观看| 欧美一区二区国产精品久久精品| 中文字幕高清在线视频| 久久久久久久午夜电影| netflix在线观看网站| 国产精品爽爽va在线观看网站| 国产伦精品一区二区三区四那| 天堂√8在线中文| 国产 一区 欧美 日韩| 国产伦精品一区二区三区视频9| 精品午夜福利视频在线观看一区| 午夜a级毛片| 极品教师在线视频| 午夜a级毛片| 亚洲一区高清亚洲精品| 精华霜和精华液先用哪个| 亚洲欧美激情综合另类| 亚洲成人精品中文字幕电影| 亚洲欧美精品综合久久99| 成人三级黄色视频| 国内精品久久久久久久电影| 人人妻人人澡欧美一区二区| 成人av在线播放网站| 欧美日韩综合久久久久久 | 黄色配什么色好看| 欧美黑人巨大hd| 亚洲av二区三区四区| 欧美成人a在线观看| 国语自产精品视频在线第100页| 99久久无色码亚洲精品果冻| 黄色日韩在线| 一边摸一边抽搐一进一小说| 999久久久精品免费观看国产| 午夜精品在线福利| 久久热精品热| 久久99热6这里只有精品| 自拍偷自拍亚洲精品老妇| 美女高潮的动态| 亚洲欧美日韩无卡精品| 能在线免费观看的黄片| 久久精品人妻少妇| 国产日本99.免费观看| av中文乱码字幕在线| 亚洲成a人片在线一区二区| 亚洲乱码一区二区免费版| 女人被狂操c到高潮| 91av网一区二区| 99久国产av精品| av国产免费在线观看| 亚洲av电影不卡..在线观看| 久久久久久久久大av| 最近最新中文字幕大全电影3| 国产私拍福利视频在线观看| 国产探花在线观看一区二区| 国产精品爽爽va在线观看网站| 亚洲午夜理论影院| 日本a在线网址| 国产精品乱码一区二三区的特点| 最近最新免费中文字幕在线| 欧美三级亚洲精品| 精品人妻熟女av久视频| 午夜福利在线在线| 欧美成人免费av一区二区三区| 在线观看一区二区三区| 久久精品国产鲁丝片午夜精品 | 亚洲中文日韩欧美视频| 少妇裸体淫交视频免费看高清| 伊人久久精品亚洲午夜| 最近最新免费中文字幕在线| 小说图片视频综合网站| 午夜精品在线福利| 久久欧美精品欧美久久欧美| 欧美色欧美亚洲另类二区| 日韩欧美精品v在线| 亚洲av电影不卡..在线观看| 国产91精品成人一区二区三区| 天堂网av新在线| 成年女人永久免费观看视频| 欧美日韩国产亚洲二区| 夜夜爽天天搞| 国产精品久久久久久久电影| 可以在线观看的亚洲视频| 午夜免费成人在线视频| 欧美日韩亚洲国产一区二区在线观看| 我的女老师完整版在线观看| 99热精品在线国产| 欧美性感艳星| 婷婷精品国产亚洲av| 亚洲精品久久国产高清桃花| 91久久精品电影网| 久久久久性生活片| 一区福利在线观看| 天堂网av新在线| 亚洲av日韩精品久久久久久密| 中国美白少妇内射xxxbb| 日日干狠狠操夜夜爽| 三级男女做爰猛烈吃奶摸视频| 亚洲四区av| 国产精品综合久久久久久久免费| 最新在线观看一区二区三区| 搡女人真爽免费视频火全软件 | 日日摸夜夜添夜夜添av毛片 | 久久香蕉精品热| 午夜精品久久久久久毛片777| 99国产极品粉嫩在线观看| 亚洲精品乱码久久久v下载方式| 久久婷婷人人爽人人干人人爱| 老师上课跳d突然被开到最大视频| 国产亚洲91精品色在线| 国产亚洲精品av在线| 亚洲av熟女| 国产亚洲精品久久久久久毛片| 亚洲国产色片| 亚洲欧美日韩无卡精品| 天堂影院成人在线观看| 国产精品日韩av在线免费观看| 欧美人与善性xxx| 一个人观看的视频www高清免费观看| 全区人妻精品视频| 国产中年淑女户外野战色| 亚洲成人中文字幕在线播放| av黄色大香蕉| 少妇的逼好多水| 看黄色毛片网站| 亚洲七黄色美女视频| 欧美最新免费一区二区三区| 成人性生交大片免费视频hd| 91av网一区二区| 日韩欧美国产在线观看| 丰满乱子伦码专区| 成人国产综合亚洲| 真人一进一出gif抽搐免费| 日日啪夜夜撸| 亚洲图色成人| 国产一区二区亚洲精品在线观看| 看免费成人av毛片| 久久国内精品自在自线图片| 日本五十路高清| 成熟少妇高潮喷水视频| 日本精品一区二区三区蜜桃| 国产午夜精品论理片| 日本 欧美在线| 国产高清视频在线播放一区| 99久国产av精品| 丰满人妻一区二区三区视频av| 国产av麻豆久久久久久久| 超碰av人人做人人爽久久| av天堂中文字幕网| 嫁个100分男人电影在线观看| 日韩精品青青久久久久久| 特大巨黑吊av在线直播| 国产男人的电影天堂91| 午夜激情欧美在线| 热99在线观看视频| 久久国产精品人妻蜜桃| 综合色av麻豆| 国产免费男女视频| 亚洲精品影视一区二区三区av| 1000部很黄的大片| 国产v大片淫在线免费观看| 亚洲一级一片aⅴ在线观看| 18+在线观看网站| 男女视频在线观看网站免费| 日本免费一区二区三区高清不卡| 一卡2卡三卡四卡精品乱码亚洲| 国产高清视频在线观看网站| 国产免费男女视频| 国产亚洲精品久久久com| 国产精品久久久久久亚洲av鲁大| 国产精品永久免费网站| 国产精品三级大全| 亚洲av五月六月丁香网| 精品人妻熟女av久视频| 国内揄拍国产精品人妻在线| 精品一区二区三区av网在线观看| 偷拍熟女少妇极品色| 女同久久另类99精品国产91| 在线免费观看不下载黄p国产 | 成人欧美大片| av视频在线观看入口| 国产一级毛片七仙女欲春2| 亚洲一区高清亚洲精品| 亚州av有码| 伦精品一区二区三区| 男人的好看免费观看在线视频| 亚洲精品在线观看二区| 国内久久婷婷六月综合欲色啪| 欧美性猛交黑人性爽| 国产精品乱码一区二三区的特点| 欧美色视频一区免费| 亚洲精品成人久久久久久| 国产色爽女视频免费观看| 国产精品女同一区二区软件 | 三级毛片av免费| 久久亚洲精品不卡| 中文字幕高清在线视频| videossex国产| 国产三级中文精品| 久久精品国产鲁丝片午夜精品 | 亚洲av五月六月丁香网| 一进一出抽搐动态| 精品一区二区免费观看| 午夜日韩欧美国产| 日韩欧美精品免费久久| 久久人人精品亚洲av| 久久久久久久亚洲中文字幕| 嫩草影院新地址| 999久久久精品免费观看国产| 久久草成人影院| 亚洲av成人av| 伦理电影大哥的女人| 一进一出抽搐动态| 国产精品久久久久久精品电影| 午夜日韩欧美国产| 俺也久久电影网| 国产一区二区三区av在线 | 级片在线观看| 极品教师在线免费播放| 精品一区二区三区视频在线观看免费| 国产精品久久久久久久久免| 国产国拍精品亚洲av在线观看| 婷婷亚洲欧美| 午夜激情福利司机影院| 美女黄网站色视频| 亚洲最大成人中文| 亚洲成人久久爱视频| 精品一区二区免费观看| 久久久久免费精品人妻一区二区| 高清毛片免费观看视频网站| 亚洲欧美日韩无卡精品| 日日夜夜操网爽| 欧美激情在线99| 小说图片视频综合网站| 在线免费十八禁| 精品久久久久久,| 免费黄网站久久成人精品| 久久久久免费精品人妻一区二区| 88av欧美| 亚洲人与动物交配视频| 亚洲欧美日韩无卡精品| 精品久久久久久成人av| 久久99热这里只有精品18| 成人欧美大片| 观看美女的网站| 国产视频一区二区在线看| 18禁黄网站禁片午夜丰满| 3wmmmm亚洲av在线观看| 99久久成人亚洲精品观看| 国产一区二区亚洲精品在线观看| 天天一区二区日本电影三级| 亚洲欧美清纯卡通| 成人毛片a级毛片在线播放| 久9热在线精品视频| 老熟妇仑乱视频hdxx| 免费在线观看成人毛片| 色在线成人网| av黄色大香蕉| 有码 亚洲区| 国产成人一区二区在线| 一个人免费在线观看电影| 黄色日韩在线| 麻豆国产av国片精品| 日本与韩国留学比较| 日本在线视频免费播放| 少妇的逼好多水| 免费看光身美女| 日韩欧美精品免费久久| 亚洲 国产 在线| 欧美另类亚洲清纯唯美| 波多野结衣高清作品| 国产精品不卡视频一区二区| а√天堂www在线а√下载| 国内精品一区二区在线观看| 久久国内精品自在自线图片| 日韩欧美国产一区二区入口| 精品久久久久久成人av|