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

    JMeter工具二次開發(fā)之自定義函數(shù)

    2023-04-13 23:46:22周燕肖玉王智超
    計算機時代 2023年4期
    關鍵詞:二次開發(fā)開源

    周燕 肖玉 王智超

    摘? 要: 許多應用系統(tǒng)功能日益復雜,JMeter已有的功能組件時常無法滿足測試需求。文章根據(jù)JMeter的開源特性,對其進行二次開發(fā),通過自定義函數(shù)擴展其已有功能;詳細介紹JMeter自定義函數(shù)開發(fā)的原理和流程并給出關鍵代碼的實現(xiàn)過程;結(jié)合WebTours系統(tǒng),將完成的自定義函數(shù)應用于具體的測試場景。幫助測試人員快速掌握自定義函數(shù)的實現(xiàn)與應用,實現(xiàn)定制化的功能,以滿足個性化的測試需求。

    關鍵詞: JMeter; 開源; 自定義函數(shù); 二次開發(fā)

    中圖分類號:TP31? ? ? ? ? 文獻標識碼:A? ? ?文章編號:1006-8228(2023)02-135-04

    Abstract: Many application systems have increasingly complex functions, and JMeter's existing functional components often fail to meet the test requirements. In this paper, based on the open source characteristics of JMeter, we perform secondary development and extend its existing functions through custom functions. The principle and flow of JMeter custom function development are introduced in detail, and the realization process of key code is given. Combined with the WebTours system, the completed custom functions are applied to specific test scenarios. It helps testers to quickly master the implementation and application of custom functions, realize customized functions, and meet personalized test requirements.

    Key words: JMeter; open source; custom functions; secondary development

    0 引言

    JMeter是Apache基金會旗下一款優(yōu)秀的性能測試和接口測試工具,已經(jīng)被越來越多的公司所采用。與同類的性能測試工具LoadRunner、接口測試工Postman相比,其優(yōu)點是100%純Java[1]開發(fā)且開源、有較強的擴展性。它擁有豐富的插件、元件和函數(shù)等功能來滿足各種測試需求。但隨著應用系統(tǒng)業(yè)務邏輯復雜性的大幅提升,系統(tǒng)的功能也日益?zhèn)€性化,測試工作的難度陡增。JMeter已有功能更多的是針對一些通用性的功能而開發(fā),很難滿足這種個性化的需求。得益于其開源特性,JMeter擁有其他測試工具所沒有的可靈活擴展性,用戶可根據(jù)實際功能需求和測試場景,對JMeter做二次開發(fā)[2],實現(xiàn)個性化的測試需求。JMeter二次開發(fā)一般分為三類情況:自定義組件、自定義請求和自定義函數(shù)。在JMeter中通過函數(shù)可以靈活的獲取動態(tài)變化的值,代替錄制腳本時所設置的固定值,對腳本進行參數(shù)化,使整個測試過程更加貼近實際的應用場景。

    1 JMeter函數(shù)介紹

    在性能和接口測試過程中,通常需要將用戶輸入的數(shù)據(jù)提交給服務器進行處理,例如測試登入功能需要用戶輸入用戶名和密碼。但是每個用戶登入的用戶名和密碼都不一樣,測試時為了模擬真實的用戶場景,就需要讓用戶輸入的內(nèi)容每次都發(fā)生變化,這個過程叫做參數(shù)化。

    JMeter中的配置元件與前置處理器[3]都可以實現(xiàn)參數(shù)化,但使用起來較復雜且不夠靈活,為了能夠更好的幫助用戶進行參數(shù)化,JMeter提供了一組庫函數(shù)來幫助用戶生成需要的數(shù)據(jù)。在JMeter菜單選項中的函數(shù)助手對話框中,可以看到JMeter自帶了許多的庫函數(shù)[4],如常用的RandomString、counter等,如圖1。每個函數(shù)主要分為上下兩部分,上半部分是函數(shù)參數(shù),所有參數(shù)以表格的形式進行展示,左邊為參數(shù)的描述,方便用戶理解參數(shù)的含義,右邊則可由用戶來輸入該參數(shù)相應的值;下半部分是函數(shù)的結(jié)果,當用戶點擊“生成”按鈕后下方會展示根據(jù)用戶輸入的參數(shù),該函數(shù)所返回的結(jié)果。同時JMeter會根據(jù)函數(shù)名和用戶選擇的參數(shù),自動生成函數(shù)的調(diào)用字符串例如:${__RandomString(3,abc123dw,str)},并自動做了復制功能,用戶可以直接拷貝到需要調(diào)用的地方。

    不同接口測試、性能測試項目或場景中,有不同的特性,已有的這些函數(shù)只能滿足80%的業(yè)務需要。例如函數(shù)庫中RandomString函數(shù),可以生成指定長度的隨機字符串,但在實際測試業(yè)務中,需要的字符串可能還要求有固定的前綴,那么已有庫函數(shù)就無法滿足測試需求,而自定義函數(shù)剛好可以解決此問題。

    2 開發(fā)自定義函數(shù)

    JMeter不僅是一個測試工具,而且還是一個優(yōu)秀的框架,其提供了豐富的jar包方便用戶進行二次開發(fā),下面將在庫函數(shù)RandomString的基礎上進行優(yōu)化擴展,開發(fā)一個自定義函數(shù)PrefixRandomString——帶前綴的隨機字符串,以此為例介紹自定義函數(shù)開發(fā)的原理和整個流程。

    2.1 選擇開發(fā)工具

    JMeter是使用Java開發(fā)的,進行二次開發(fā)時需要使用支持Java的開發(fā)工具,比如Eclipse、IntelliJ IDEA等來編寫自定義函數(shù)。下文中使用開源軟件Eclipse進行開發(fā),先在eclipse中選擇菜單File->New->Java Project創(chuàng)建一個普通的Java項目即可。

    2.2 添加依賴的jar包

    JMeter安裝目錄lib/ext中的ApacheJMeter_core.jar包,是JMeter中的核心jar包,該jar包中實現(xiàn)了對JMeter進行二次開發(fā)的一些基本框架和功能。在進行開發(fā)時,要依賴該jar包,需要提前導入Java項目的referenced libraries中。

    2.3 類的設計與實現(xiàn)

    自定義函數(shù)的所有功能都封裝在Java類中,其代碼需要符合JMeter的編碼規(guī)范——擴展函數(shù)的Java類,其包名必須是.function,JMeter通過類的命名規(guī)則確保當其以非GUI模式運行時一些核心的類也能夠被正常加載。自定義函數(shù)類所在的包名可以參考JMeter自帶庫函數(shù)類所在包的名稱org.apache.jmeter.functions來進行命名;同時該類還要繼承ApacheJMeter_core.jar包中的AbstractFunction 類,并重寫父類中的四個方法。

    ⑴ getReferenceKey方法:該方法返回自定義函數(shù)的名稱。每個函數(shù)都有一個獨一無二的名稱,所以必須重寫這個方法。函數(shù)的名稱反映了其功能,要做到顧名思義,方便用戶使用。根據(jù)JMeter的規(guī)范,函數(shù)名稱一般以雙下劃線開頭,如__RandomString、__Time等,而且建議與類名同名。參考代碼如下:

    @Override

    public String getReferenceKey() {

    return "__PrefixRandomString";

    }

    ⑵ getArgumentDesc方法:該方法描述了函數(shù)的參數(shù)。如果自定義函數(shù)沒有參數(shù),則可以不用重寫這個方法;如果有參數(shù),為了便于函數(shù)調(diào)用者輸入?yún)?shù),需要在這里返回函數(shù)參數(shù)說明。函數(shù)的參數(shù)一般情況下固定不變,常將其參數(shù)描述存放在全局靜態(tài)變量list中,而在函數(shù)體中直接將這個list返回,參考代碼如下:

    private static final List args=new LinkedList

    ();

    static {

    args.add("指定前綴(必填)");

    args.add("隨機字符串的長度(必填,不包括前綴)");

    args.add("組成字符串的字符(可選)");

    args.add("存儲結(jié)果的變量名(可選)");

    }

    @Override

    public List getArgumentDesc() {

    return args;

    }

    ⑶ setParameters方法:該方法傳遞用戶調(diào)用過程中傳入的實際參數(shù)值。對于有參數(shù)的函數(shù),可以在該方法中獲取用戶調(diào)用函數(shù)時傳遞過來的參數(shù),并對參數(shù)的個數(shù)、類型等進行有效性校驗,保證函數(shù)的健壯性和正確性。參考代碼如下:

    public void setParameters(Collection

    arg0) throws InvalidVariableException {

    //檢查參數(shù)是否為2到4個

    checkParameterCount(arg0, 2, 4);

    Object data[]=arg0.toArray();

    //獲取前綴

    prefix=((CompoundVariable) data[0]).execute();

    //獲取長度

    length=Integer.parseInt(((CompoundVariable) data[1])

    .execute());

    //如果指定了組成字符串的字符,則獲取使用的字符串

    if (data.length>2) {

    charsToUse=((CompoundVariable) data[2])

    .execute().trim();

    }

    //如果輸入了存儲結(jié)果的變量名,則獲取變量名

    if (data.length>3) {

    varName=((CompoundVariable) data[3])

    .execute().trim();

    }

    }

    ⑷ Execute方法:該方法是自定義函數(shù)中最關鍵的部分。根據(jù)業(yè)務規(guī)則,實現(xiàn)自定義函數(shù)的核心邏輯,將最終生成的結(jié)果返回,參考代碼如下:

    @Override

    public String execute(SampleResult arg0, Sampler

    arg1) throws InvalidVariableException {

    //最后的結(jié)果由用戶輸入的前綴+隨機生成的字符串組成

    String myValue=prefix;

    if (StringUtils.isEmpty(charsToUse))

    myValue+=RandomStringUtils.random(length);

    else {

    myValue+=RandomStringUtils.random

    (length, charsToUse);

    }

    //如果輸入了存儲結(jié)果的變量名,將結(jié)果保存到變量中

    if (varName.length()>0) {

    JMeterVariables vars=getVariables();

    if (vars!=null) {

    vars.put(varName, myValue);

    }

    }

    returnmyValue;

    }

    2.4 單元測試

    完成自定義函數(shù)的開發(fā)后,還需要測試函數(shù)功能是否正常。一般使用了java語言自帶的單元測試框架Junit[6]進行測試,開發(fā)工具Eclipse中已經(jīng)集成了JUnit作為單元測試的工具。

    2.5 使用自定義函數(shù)

    代碼調(diào)試無誤后,在開發(fā)工具Eclipse中右鍵單擊項目名稱,選擇菜單Export->JAR file將整個項目打包導出為jar包,拷貝至jmeter安裝目錄lib/ext的文件夾下。JMeter啟動時會自動加載該目錄下符合要求的jar包。

    重啟JMeter,打開函數(shù)助手對話框,在下拉列表中就能看到所開發(fā)的自定義函數(shù),用戶像使用普通的庫函數(shù)一樣使用它即可,如圖2所示。

    通過函數(shù)助手界面可以發(fā)現(xiàn),getReferenceKey方法中所返回的函數(shù)名對應著界面下拉列表中的名稱;getArgumentDesc方法中返回的函數(shù)參數(shù)說明對應界面中函數(shù)參數(shù)表格的部分,可以在表格中輸入具體的參數(shù)值;而界面上顯示的結(jié)果則是Execute方法的返回值。下面將在WebTours系統(tǒng)使用該函數(shù)測試系統(tǒng)的登入功能。

    3 WebTours系統(tǒng)案例分析

    WebTours系統(tǒng)是LoadRunner自帶的測試系統(tǒng),可以進行簡單的航班查詢、飛機訂票、取消航班、登入、退出、注冊等操作。首先安strawberry-perl-5.10.1.0, 接下來打開WebTours文件夾,雙擊 StartServer.bat,開啟服務器,然后在瀏覽器中輸入http://127.0.0.1:1080/WebTours/即可訪問系統(tǒng)[5]。在進行訂票操作之前,需要先在注冊頁面,輸入用戶名、密碼以及確認密碼完成注冊。

    現(xiàn)使用JMeter對注冊功能進行并發(fā)測試,其測試場景為:批量注冊100個用戶,用戶名的命名是以user開頭且長度為6位的隨機字符串組成。線程數(shù)為5,循環(huán)20次。具體實現(xiàn)步驟如下:

    ⑴ 使用JMeter錄制登入腳本,通過分析post請求cgi-bin/login.pl的參數(shù)可知,username就是注冊時用戶輸入的用戶名。

    ⑵ 測試要求用戶名以user開頭,使用前面實現(xiàn)的自定義函數(shù)PrefixRandomString生成帶前綴的隨機字符串,作為參數(shù)替換錄制時的用戶名,如圖3所示。

    ⑶ 修改線程組的場景,設置線程數(shù)5個,循環(huán)次數(shù)20次,自動完成100次注冊操作。每次進行注冊請求時JMeter都會調(diào)用函數(shù)PrefixRandomString生成隨機的字符串作為用戶名。

    ⑷ 執(zhí)行JMeter的腳本后,在WebTours安裝目錄WebTours\cgi-bin\users中,可以看到注冊成功的用戶名,全部以user作為前綴,如圖4所示。

    4 結(jié)束語

    自定義函數(shù)開發(fā),是軟件測試人員對JMeter基礎操作熟悉的前提下所做的高級操作,也是測試復雜系統(tǒng)時所必備的技能。本文考慮實際應用場景,結(jié)合WebTours系統(tǒng),詳細介紹了JMeter自定義函數(shù)開發(fā)的整個流程以及實際應用。有助于軟件測試人員快速的進行自定義函數(shù)的開發(fā),完成個性化的測試任務。JMeter作為一款開源的測試工具,為用戶提供了更多的靈活性,在實際應用中還可以自定義組件和自定義請求,使JMeter能更好的滿足測試要求。

    參考文獻(References):

    [1] 明日科技.Java從入門到精通(第6版)[M].北京:清華大學出版社,2021

    [2] 胡通.大話性能測試JMeter實戰(zhàn)[M].北京:人民郵電出版社,2021

    [3] 陳志勇,馬利偉,萬龍.全棧性能測試修煉寶典JMeter實戰(zhàn)[M].北京:人民郵電出版社,2016

    [4] 巴約·艾林勒著,黃鵬譯.JMeter性能測試實戰(zhàn)(第2版)[M].北京:人民郵電出版社,2020

    [5] 張億軍.JMeter測試應用研究[J].信息技術與信息化,2021(10):61-64

    [6] 賈美麗,康珺.JUnit在單元測試中的應用[J].計算機與現(xiàn)代化,2013(8):116-118

    作者簡介:周燕(1985-),女,湖北荊州人,碩士,助教,主要研究方向:軟件開發(fā)、軟件測試。

    猜你喜歡
    二次開發(fā)開源
    淺談基于Revit平臺的二次開發(fā)
    甘肅科技(2020年20期)2020-04-13 00:30:02
    五毛錢能買多少頭牛
    2019開源杰出貢獻獎
    西門子Operate高級編程的旋轉(zhuǎn)坐標系二次開發(fā)
    淺談Mastercam后處理器的二次開發(fā)
    模具制造(2019年3期)2019-06-06 02:11:02
    大家說:開源、人工智能及創(chuàng)新
    開源中國開源世界高峰論壇圓桌會議縱論開源與互聯(lián)網(wǎng)+創(chuàng)新2.0
    開源計算機輔助翻譯工具研究
    Micaps3.2 版本二次開發(fā)入門淺析
    西藏科技(2015年12期)2015-09-26 12:13:51
    ANSYS Workbench二次開發(fā)在汽車穩(wěn)定桿CAE分析中的應用
    汽車零部件(2014年5期)2014-11-11 12:24:32
    淫秽高清视频在线观看| 国产又色又爽无遮挡免| 永久免费av网站大全| 欧美bdsm另类| 国产av不卡久久| 嫩草影院入口| 九九爱精品视频在线观看| 少妇的逼水好多| 国产免费一级a男人的天堂| 色噜噜av男人的天堂激情| 国产精品精品国产色婷婷| 人妻少妇偷人精品九色| 可以在线观看毛片的网站| 熟女电影av网| 精品午夜福利在线看| 亚洲国产最新在线播放| 国产在视频线在精品| 精品酒店卫生间| 国产三级在线视频| 观看美女的网站| 免费黄色在线免费观看| 波多野结衣巨乳人妻| 国产免费福利视频在线观看| 久久久久久伊人网av| 国产免费视频播放在线视频 | 国产成人一区二区在线| 亚洲成人精品中文字幕电影| 成人午夜高清在线视频| 欧美成人午夜免费资源| 国产老妇女一区| 婷婷六月久久综合丁香| 最近手机中文字幕大全| 黄色欧美视频在线观看| 中文天堂在线官网| 嫩草影院精品99| 乱系列少妇在线播放| 午夜精品一区二区三区免费看| 精品不卡国产一区二区三区| 高清日韩中文字幕在线| 丰满少妇做爰视频| 国产日韩欧美在线精品| 91久久精品电影网| or卡值多少钱| 国产一级毛片在线| 国产黄片美女视频| 最近最新中文字幕免费大全7| 午夜福利在线观看吧| 亚洲久久久久久中文字幕| 少妇熟女aⅴ在线视频| 国产真实伦视频高清在线观看| 欧美性感艳星| 国产91av在线免费观看| 插逼视频在线观看| 变态另类丝袜制服| 中文乱码字字幕精品一区二区三区 | 午夜激情福利司机影院| 伦精品一区二区三区| 亚洲欧美精品专区久久| 69人妻影院| 韩国高清视频一区二区三区| 麻豆成人av视频| 2021天堂中文幕一二区在线观| 国产亚洲最大av| 欧美xxxx性猛交bbbb| 成人一区二区视频在线观看| 蜜臀久久99精品久久宅男| 狂野欧美激情性xxxx在线观看| 51国产日韩欧美| 天堂av国产一区二区熟女人妻| 在线观看av片永久免费下载| 视频中文字幕在线观看| 欧美成人午夜免费资源| 插逼视频在线观看| 亚洲国产欧洲综合997久久,| 亚洲欧美一区二区三区国产| 内射极品少妇av片p| 国产一区二区三区av在线| 校园人妻丝袜中文字幕| 亚洲国产精品国产精品| 99视频精品全部免费 在线| 日日撸夜夜添| 久99久视频精品免费| 99久久精品一区二区三区| 午夜福利高清视频| 久久久精品94久久精品| 久久草成人影院| 亚洲欧美日韩东京热| 男人舔女人下体高潮全视频| 色播亚洲综合网| 国产在线一区二区三区精 | av视频在线观看入口| 老司机福利观看| 三级经典国产精品| 亚洲国产欧洲综合997久久,| 欧美丝袜亚洲另类| 亚洲人成网站在线观看播放| 男人舔女人下体高潮全视频| 日韩亚洲欧美综合| 中国美白少妇内射xxxbb| 中文欧美无线码| 亚洲av熟女| 欧美高清性xxxxhd video| 人人妻人人澡人人爽人人夜夜 | 一级毛片电影观看 | 国产免费一级a男人的天堂| 亚洲欧洲日产国产| 午夜精品国产一区二区电影 | 亚洲天堂国产精品一区在线| 午夜日本视频在线| 99国产精品一区二区蜜桃av| 成人美女网站在线观看视频| 国产亚洲5aaaaa淫片| 综合色丁香网| videos熟女内射| 国产极品精品免费视频能看的| 精品午夜福利在线看| 一本一本综合久久| 不卡视频在线观看欧美| 爱豆传媒免费全集在线观看| 三级国产精品片| 一个人看视频在线观看www免费| eeuss影院久久| 欧美成人a在线观看| av在线老鸭窝| 亚洲av中文av极速乱| 深爱激情五月婷婷| 国产大屁股一区二区在线视频| 国内精品美女久久久久久| 国产黄a三级三级三级人| 99热全是精品| 人人妻人人澡人人爽人人夜夜 | 偷拍熟女少妇极品色| 久久久久久久国产电影| 欧美精品一区二区大全| 日日摸夜夜添夜夜爱| 尤物成人国产欧美一区二区三区| 久久久亚洲精品成人影院| 中文字幕熟女人妻在线| 日日啪夜夜撸| 久久精品国产亚洲网站| 国产精品久久电影中文字幕| 亚洲欧美日韩无卡精品| 我的老师免费观看完整版| 啦啦啦观看免费观看视频高清| 国产一区二区在线观看日韩| 在线a可以看的网站| 亚洲三级黄色毛片| 18禁动态无遮挡网站| 在线免费十八禁| 青春草亚洲视频在线观看| 七月丁香在线播放| 欧美日韩在线观看h| 国产精品久久久久久久电影| 欧美+日韩+精品| 亚洲丝袜综合中文字幕| 欧美一级a爱片免费观看看| 亚洲欧美精品综合久久99| 韩国av在线不卡| 麻豆成人午夜福利视频| 丰满少妇做爰视频| 亚洲国产最新在线播放| 中国国产av一级| 国产精品一区二区三区四区久久| 哪个播放器可以免费观看大片| 亚洲精品久久久久久婷婷小说 | 久久人人爽人人爽人人片va| 美女黄网站色视频| av国产免费在线观看| 国产爱豆传媒在线观看| 日本免费在线观看一区| 国内精品美女久久久久久| .国产精品久久| 全区人妻精品视频| 久久精品91蜜桃| 全区人妻精品视频| 男的添女的下面高潮视频| 国产爱豆传媒在线观看| 日韩欧美 国产精品| 三级国产精品欧美在线观看| 永久网站在线| 亚洲第一区二区三区不卡| 身体一侧抽搐| 欧美三级亚洲精品| 色网站视频免费| 成人亚洲欧美一区二区av| 你懂的网址亚洲精品在线观看 | 亚洲国产欧美人成| 爱豆传媒免费全集在线观看| 久久久久久伊人网av| 少妇人妻一区二区三区视频| 亚洲精品日韩在线中文字幕| 边亲边吃奶的免费视频| 插逼视频在线观看| 亚洲国产高清在线一区二区三| 色综合色国产| 国产午夜精品论理片| 欧美日韩国产亚洲二区| 欧美人与善性xxx| 内射极品少妇av片p| 欧美日本视频| 亚洲人成网站在线观看播放| 天堂av国产一区二区熟女人妻| a级一级毛片免费在线观看| 人人妻人人看人人澡| 国产精品不卡视频一区二区| 久久精品熟女亚洲av麻豆精品 | 天美传媒精品一区二区| av视频在线观看入口| 性插视频无遮挡在线免费观看| 日本一二三区视频观看| 亚洲人与动物交配视频| a级毛色黄片| 国产精品永久免费网站| 男女那种视频在线观看| 午夜精品一区二区三区免费看| 成人欧美大片| 国内精品一区二区在线观看| 人妻夜夜爽99麻豆av| 只有这里有精品99| 久久亚洲精品不卡| 亚洲av免费在线观看| 日韩强制内射视频| 日本av手机在线免费观看| 午夜亚洲福利在线播放| 国产在视频线精品| 男人和女人高潮做爰伦理| 成人av在线播放网站| 国产成人aa在线观看| 国产亚洲一区二区精品| 亚洲人成网站在线播| 国产在视频线在精品| 午夜精品一区二区三区免费看| 可以在线观看毛片的网站| 国产午夜精品论理片| 国产老妇女一区| 在线a可以看的网站| 永久免费av网站大全| 精品人妻偷拍中文字幕| 国产午夜精品久久久久久一区二区三区| 久久国产乱子免费精品| 国产精品av视频在线免费观看| www.色视频.com| 国产av不卡久久| 国产高清国产精品国产三级 | 亚洲成人中文字幕在线播放| 日本与韩国留学比较| 最新中文字幕久久久久| 免费不卡的大黄色大毛片视频在线观看 | 嫩草影院精品99| av卡一久久| 麻豆精品久久久久久蜜桃| 免费人成在线观看视频色| 可以在线观看毛片的网站| 男女那种视频在线观看| 女人久久www免费人成看片 | 午夜老司机福利剧场| 又爽又黄无遮挡网站| 久久久欧美国产精品| 美女脱内裤让男人舔精品视频| 成人三级黄色视频| 久久综合国产亚洲精品| 国产人妻一区二区三区在| 啦啦啦韩国在线观看视频| 日本免费在线观看一区| 在线观看一区二区三区| 日韩成人av中文字幕在线观看| 女人被狂操c到高潮| 国产色爽女视频免费观看| 色综合色国产| 久久精品久久久久久噜噜老黄 | 国产日韩欧美在线精品| 欧美激情久久久久久爽电影| 精华霜和精华液先用哪个| 18禁在线播放成人免费| 午夜激情欧美在线| 国产精品麻豆人妻色哟哟久久 | 看免费成人av毛片| 在线观看一区二区三区| 亚洲aⅴ乱码一区二区在线播放| 美女高潮的动态| av专区在线播放| 日本黄大片高清| 国产精品人妻久久久影院| 毛片女人毛片| 国产色爽女视频免费观看| 欧美日韩一区二区视频在线观看视频在线 | 日本-黄色视频高清免费观看| 免费av毛片视频| 亚洲欧美清纯卡通| 天堂影院成人在线观看| 亚洲成色77777| 国内揄拍国产精品人妻在线| 一二三四中文在线观看免费高清| 在线免费观看不下载黄p国产| 国产欧美日韩精品一区二区| 久久欧美精品欧美久久欧美| 嫩草影院精品99| 99热这里只有是精品在线观看| 亚洲欧美成人精品一区二区| 亚洲真实伦在线观看| 欧美一区二区亚洲| 免费在线观看成人毛片| 国产伦精品一区二区三区四那| 日韩av在线免费看完整版不卡| 国产精品日韩av在线免费观看| 日韩 亚洲 欧美在线| 美女被艹到高潮喷水动态| 男人舔奶头视频| 99九九线精品视频在线观看视频| 欧美丝袜亚洲另类| 可以在线观看毛片的网站| 男的添女的下面高潮视频| 淫秽高清视频在线观看| 国产成人aa在线观看| 18+在线观看网站| 日产精品乱码卡一卡2卡三| 18禁在线播放成人免费| 国产片特级美女逼逼视频| 男插女下体视频免费在线播放| 少妇人妻精品综合一区二区| 蜜桃久久精品国产亚洲av| 亚洲av电影不卡..在线观看| 欧美成人免费av一区二区三区| 成人美女网站在线观看视频| 麻豆久久精品国产亚洲av| 国产精品精品国产色婷婷| 免费在线观看成人毛片| 日韩国内少妇激情av| 国产精品一区二区性色av| 99国产精品一区二区蜜桃av| 久久人妻av系列| 国产三级中文精品| 六月丁香七月| 亚洲丝袜综合中文字幕| 婷婷色综合大香蕉| 亚洲欧美中文字幕日韩二区| 日韩成人伦理影院| 日本黄大片高清| 国产成人福利小说| 久久精品夜色国产| 精品久久久久久久人妻蜜臀av| 波多野结衣高清无吗| 卡戴珊不雅视频在线播放| videos熟女内射| 亚洲欧美精品自产自拍| 男女边吃奶边做爰视频| 成人二区视频| 波野结衣二区三区在线| АⅤ资源中文在线天堂| 国产乱来视频区| 国产成人freesex在线| 91av网一区二区| 丝袜美腿在线中文| 观看免费一级毛片| 中文天堂在线官网| 日本爱情动作片www.在线观看| 亚洲不卡免费看| 在线观看av片永久免费下载| 国产黄片视频在线免费观看| 蜜桃久久精品国产亚洲av| 国产熟女欧美一区二区| 中国国产av一级| 亚洲图色成人| 永久免费av网站大全| 一夜夜www| 亚洲人成网站高清观看| 只有这里有精品99| 最后的刺客免费高清国语| 美女被艹到高潮喷水动态| 国产一区二区在线观看日韩| 在现免费观看毛片| 亚洲成av人片在线播放无| 日韩制服骚丝袜av| 一区二区三区乱码不卡18| 啦啦啦韩国在线观看视频| 欧美日本亚洲视频在线播放| 嫩草影院入口| 久久久久久久久久久丰满| 纵有疾风起免费观看全集完整版 | 亚洲精品乱码久久久久久按摩| 18禁在线播放成人免费| 精品久久久久久久久久久久久| 成年女人看的毛片在线观看| 我要搜黄色片| 最近最新中文字幕大全电影3| 欧美日本亚洲视频在线播放| 好男人视频免费观看在线| 99久久精品一区二区三区| 国产真实伦视频高清在线观看| 亚洲av一区综合| 欧美成人免费av一区二区三区| 国内精品美女久久久久久| 日韩成人av中文字幕在线观看| 国产亚洲av片在线观看秒播厂 | 午夜免费男女啪啪视频观看| 免费av毛片视频| 人妻系列 视频| 日本-黄色视频高清免费观看| 精品免费久久久久久久清纯| 国产 一区 欧美 日韩| 国产三级中文精品| 国产成人a∨麻豆精品| 午夜免费男女啪啪视频观看| 婷婷六月久久综合丁香| 成人av在线播放网站| 色综合色国产| 亚洲自偷自拍三级| 女人被狂操c到高潮| 全区人妻精品视频| 国产视频首页在线观看| 亚洲人成网站在线播| 国产av在哪里看| 亚洲国产精品成人综合色| 国产精品电影一区二区三区| 男女下面进入的视频免费午夜| 亚洲欧美中文字幕日韩二区| 免费看光身美女| 变态另类丝袜制服| 亚洲美女搞黄在线观看| 男女啪啪激烈高潮av片| 亚洲高清免费不卡视频| 亚洲丝袜综合中文字幕| 久久亚洲精品不卡| 精品无人区乱码1区二区| 国产精品.久久久| 又粗又硬又长又爽又黄的视频| 久久久国产成人精品二区| 国产熟女欧美一区二区| 搡老妇女老女人老熟妇| 人人妻人人看人人澡| 97超视频在线观看视频| 国产69精品久久久久777片| 免费观看在线日韩| 青青草视频在线视频观看| 成人美女网站在线观看视频| 亚洲成人中文字幕在线播放| 国产淫片久久久久久久久| 不卡视频在线观看欧美| 97超视频在线观看视频| 亚洲国产成人一精品久久久| 亚洲精品自拍成人| 亚洲国产最新在线播放| 国产成人一区二区在线| 国产一区亚洲一区在线观看| 国产v大片淫在线免费观看| 日本免费在线观看一区| 久久6这里有精品| 免费一级毛片在线播放高清视频| 欧美bdsm另类| 欧美色视频一区免费| 网址你懂的国产日韩在线| 国产精品三级大全| 高清毛片免费看| 国产av在哪里看| 亚洲欧美日韩高清专用| 网址你懂的国产日韩在线| 免费大片18禁| 日韩视频在线欧美| 在线免费观看的www视频| 国产又色又爽无遮挡免| 草草在线视频免费看| 色播亚洲综合网| 久久精品熟女亚洲av麻豆精品 | 91精品一卡2卡3卡4卡| 高清日韩中文字幕在线| 免费在线观看成人毛片| 寂寞人妻少妇视频99o| av视频在线观看入口| 美女被艹到高潮喷水动态| 久久久久久久久久黄片| 国产精品伦人一区二区| 亚洲成人av在线免费| 有码 亚洲区| 欧美高清性xxxxhd video| 欧美日韩在线观看h| 国产精品一区www在线观看| 欧美日韩一区二区视频在线观看视频在线 | 国产精品,欧美在线| 日韩一区二区三区影片| 夫妻性生交免费视频一级片| 亚洲精品国产成人久久av| 啦啦啦观看免费观看视频高清| 黄片wwwwww| 国产精品美女特级片免费视频播放器| 欧美日韩综合久久久久久| 国产黄色小视频在线观看| 日韩一区二区视频免费看| 国产成人免费观看mmmm| 午夜福利成人在线免费观看| 日日啪夜夜撸| 麻豆成人午夜福利视频| 亚洲成色77777| 成人午夜高清在线视频| 久久久欧美国产精品| 国产成人精品婷婷| 欧美高清性xxxxhd video| 亚洲自拍偷在线| 日韩亚洲欧美综合| 最近中文字幕2019免费版| 狠狠狠狠99中文字幕| 国产精品人妻久久久久久| 国产高清视频在线观看网站| 午夜福利成人在线免费观看| 人人妻人人澡欧美一区二区| 亚洲国产色片| 精品熟女少妇av免费看| 亚洲婷婷狠狠爱综合网| 内射极品少妇av片p| 国产高清国产精品国产三级 | 国产精品野战在线观看| 国产一区二区在线观看日韩| 日本黄色片子视频| 中文天堂在线官网| 99久久精品国产国产毛片| 国产精品1区2区在线观看.| 欧美zozozo另类| 久久精品国产亚洲av涩爱| 偷拍熟女少妇极品色| 18+在线观看网站| 97在线视频观看| 久久这里有精品视频免费| 国产欧美另类精品又又久久亚洲欧美| 欧美高清性xxxxhd video| 2021天堂中文幕一二区在线观| 最近的中文字幕免费完整| 欧美一区二区精品小视频在线| 欧美色视频一区免费| 国产成人精品久久久久久| 欧美xxxx黑人xx丫x性爽| 亚洲色图av天堂| 深爱激情五月婷婷| 色5月婷婷丁香| 一级毛片久久久久久久久女| 美女被艹到高潮喷水动态| 长腿黑丝高跟| 国产淫语在线视频| 国产精品人妻久久久影院| 亚洲在线观看片| 爱豆传媒免费全集在线观看| 高清在线视频一区二区三区 | 免费看美女性在线毛片视频| 国产精品人妻久久久久久| 成人特级av手机在线观看| 久久精品熟女亚洲av麻豆精品 | 日韩人妻高清精品专区| 久久久国产成人免费| 成人毛片60女人毛片免费| 精品欧美国产一区二区三| 纵有疾风起免费观看全集完整版 | 成人漫画全彩无遮挡| 国产精品人妻久久久久久| 国产高清国产精品国产三级 | 伦理电影大哥的女人| 国产黄色小视频在线观看| 麻豆成人av视频| 深爱激情五月婷婷| 日韩成人伦理影院| 听说在线观看完整版免费高清| 亚洲无线观看免费| 国产精品女同一区二区软件| 熟妇人妻久久中文字幕3abv| 国产黄片视频在线免费观看| 欧美不卡视频在线免费观看| 99久久无色码亚洲精品果冻| .国产精品久久| 能在线免费看毛片的网站| 国产精品1区2区在线观看.| 天天躁日日操中文字幕| 久久久久国产网址| 国产精品久久久久久av不卡| 黄色日韩在线| 18禁裸乳无遮挡免费网站照片| 在线天堂最新版资源| 中文乱码字字幕精品一区二区三区 | 欧美另类亚洲清纯唯美| 欧美日韩精品成人综合77777| 国产精品蜜桃在线观看| 欧美日韩精品成人综合77777| 精品99又大又爽又粗少妇毛片| 男人舔女人下体高潮全视频| 国产乱人偷精品视频| 搡女人真爽免费视频火全软件| 特大巨黑吊av在线直播| 国产伦精品一区二区三区视频9| 中文字幕制服av| 亚洲怡红院男人天堂| 国产大屁股一区二区在线视频| av免费在线看不卡| 黄色欧美视频在线观看| 国产一区二区在线av高清观看| av专区在线播放| 青春草亚洲视频在线观看| 亚洲在久久综合| 日本免费a在线| 搞女人的毛片| 成人午夜高清在线视频| 欧美最新免费一区二区三区| 一级毛片我不卡| 一级黄色大片毛片| 一区二区三区免费毛片| 国产精品久久久久久久电影| 99在线视频只有这里精品首页| 神马国产精品三级电影在线观看| 三级国产精品片| 国产精品无大码| 日本三级黄在线观看| 美女国产视频在线观看| 亚洲av成人精品一区久久| 有码 亚洲区| 国产伦一二天堂av在线观看| 久久6这里有精品| 国产熟女欧美一区二区| 国产精品美女特级片免费视频播放器| 国产精品国产三级专区第一集| 如何舔出高潮|