精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Web開發者必備的JavaScript單元測試工具

開發 前端
本文簡單介紹了如何使用兩款Javascript單元測試工具進行前端的開發單元測試,前端的單元測試在復雜的前端Javascript開發中,能夠保證前端開發的質量,值得前端開發者仔細研究學習。

當前,在軟件開發中單元測試越來越受到開發者的重視,它能提高軟件的開發效率,而且能保障開發的質量。以往,單元測試往往多見于服務端的開發中,但隨著Web編程領域的分工逐漸明細,在前端Javascript開發領域中,也可以進行相關的單元測試,以保障前端開發的質量。在本文中,將初步探討如何在Javascript中進行單元測試及其注意要點。

Javascript中的單元測試工具

在Javascript的單元測試中工具中,有很多開源的工具,本文選取其中兩個比較典型實用的工具進行介紹:jsTestDriver和Qunit。先來看下jsTestDriver(下載地址:http://code.google.com/p/js-test-driver/wiki/GettingStarted)。

jsTestDriver以客戶服務端的方式運行,在客戶端發送測試請求到服務端,整個運行是在可以捕捉的瀏覽器中進行的,其優點為它能很容易地與代碼編輯器整合,以及能成為自動構建的一部分。jsTestDriver包括一系列能與Eclipse,Maven和IntelliJ整合的插件,甚至與Visual Studio整合也是可行的(參考這篇文章),比如下圖是與EditPlus整合的一個示意圖:

 

開源的單元測試工具jsTestDriver

 

jsTestDriver的安裝

安裝jsTestDriver的步驟如下:

1. 從jsTestDriver的下載頁中下載相關的JAR文件,下載地址為:http://code.google.com/p/js-test-driver/downloads/list,下載其中的JsTestDriver-1.3.3a.jar 這個文件

2. 創建兩個文件夾,其中一個為名稱為src的存放Javascript源代碼的文件,另外一個是用來存放測試用例的文件,文件夾命名為src-test。

3. 創建一個配置文件,配置文件名為jsTestDriver.conf,配置文件如下:

server: http://localhost:9876

load:

- src/*.js

- src-test/*.js

這里指出了啟動位于9876的端口進行監聽,并且先加載src文件夾下的所有js文件夾,然后在加載src-test文件夾下的js文件進行測試。

4. 接下來,我們配置jsTestDriver的服務端,以讓其監控chrome瀏覽器,讓其運行Javascript測試用例。在命令行輸入如下代碼,具體路徑請根據實際情況修改。

"C:\Program Files (x86)\Java\jre6\bin\java" -jar JsTestDriver-1.3.2.jar --port 4224 --browser "C:\Documents and Settings\Tarwn\Local Settings\Application Data\Google\Chrome\Application\chrome.exe"

這樣的話,會在4224端口啟動jsTestDriver,并且會啟動一個chrmoe瀏覽器的實例,這個實例會捕捉所有的在Chrmoe中運行的Javascript單元測試。接下來,編寫一個.cmd文件,在命令方式下執行,以執行測試,測試所有放在src-test中的測試用例,代碼如下:

  1. "C:\Program Files (x86)\Java\jre6\bin\java" -jar JsTestDriver-1.3.2.jar --tests all  
  2.   Pause 

開始編寫Javascript

我們開始編寫一個簡單的Javascript來進行測試,先在src和src-test目錄下,分別編

寫如下代碼:

Src目錄下的mystuff.js

  1. myAwesomeApp = {};  
  2.   myAwesomeApp.MyAwesomeClass = function(){};  
  3.   myAwesomeApp.MyAwesomeClass.prototype.add = function(num0, num1){  
  4.   return num0 + num1;  
  5.   };  
  6.   Src-test 目錄下的mystuff.js  
  7.   TestCase("Sample Test Case",{  
  8.   "test Number plus Zero Equals Number"function(){  
  9.   var adder = new myAwesomeApp.MyAwesomeClass();  
  10.   assertEquals(5, adder.add(5,0));  
  11.   },  
  12.   "test Number plus Number Equals Sum"function(){  
  13.   var adder = new myAwesomeApp.MyAwesomeClass();  
  14.   assertEquals(8, adder.add(5,3));  
  15.   },  
  16.   "test Zero plus Number Equals Number"function(){  
  17.   var adder = new myAwesomeApp.MyAwesomeClass();  
  18.   assertEquals(5, adder.add(0,5));  
  19.   },  
  20.   "test Number plus Negative of Number Equals Zero"function(){  
  21.   var adder = new myAwesomeApp.MyAwesomeClass();  
  22.   assertEquals(0, adder.add(5,-5));  
  23.   },  
  24.   "test Fails miserably"function(){  
  25.   fail("miserably");   
  26.   }  
  27.   }); 

熟悉單元測試的開發者對它們應該不感到陌生。在上面的測試代碼組中,分別測試

了多種用例,用到的都是assertEquals斷言。更多的用法請參考其官方主頁的介紹。

接下來,我們開始運行測試用例,方法為在命令行模式下,

"C:\Program Files (x86)\Java\jre6\bin\java" -jar ../JsTestDriver-1.3.2.jar --port 4224 --browser "C:\Documents and Settings\Tarwn\Local Settings\Application Data\Google\Chrome\Application\chrome.exe"

這樣就可以啟動chrome瀏覽器監聽相關的Javascript單元測試用例。運行后可以看到打開了瀏覽器,如下圖:

 

開源的單元測試工具jsTestDriver

 

接下來開始進行單元測試,命令行輸入如下代碼:

  1. "C:\Program Files (x86)\Java\jre6\bin\java" -jar ../JsTestDriver-1.3.2.jar --tests all 

運行后,會在瀏覽器中看到相關的輸出結果,如下:

  1. ....F  
  2.   Total 5 tests (Passed: 4; Fails: 1; Errors: 0) (0.00 ms)  
  3.   Chrome 13.0.782.220 Windows: Run 5 tests (Passed: 4; Fails: 1; Errors 0) (0.00 ms)  
  4.   Object Literal Test Case.test Fails miserably failed (0.00 ms): AssertError: miserably  
  5.   AssertError: miserably  
  6.   at Object.test Fails miserably (http://localhost:4224/test/src-test/mystuff.js:22:3)  
  7.   Tests failed: Tests failed. See log for details. 

從結果中可以看到,.S表示成功通過的單元測試,.F為失敗的單元測試用例,而.E為錯誤的測試用例,信息中還指出了有多少個單元測試,通過了多少,多少個沒有通過。

jsTestDriver還支持傳統的setup和teardown等單元測試方法。更多的相關介紹可以參考其在線幫助手冊。

#p#

開源的單元測試工具Qunit

接下來,介紹另外一款開源的單元測試工具Qunit(下載地址:http://code.jquery.com/qunit),它是完全基于瀏覽器運行的,因此不需要象jsTestDriver那么安裝麻煩,而且值得一提的是,這個框架是jQuery的單元測試Javascript框架,功能十分強大。下面是安裝方法:

1) 只需要下載qunit.js(http://code.jquery.com/qunit/qunit-git.js)和qunit.css(http://code.jquery.com/qunit/qunit-git.css)

2) 我們需要編寫一個Qunit的界面,命名為testrunner.html,代碼如下:

  1. <DOCTYPE html>   
  2. <html>   
  3. <head>   
  4.     <script src="http://code.jquery.com/jquery-1.6.4.min.js" type="text/javascript"></script>   
  5.     <script src="qunit.js" type="text/javascript"></script>   
  6.     <link rel="stylesheet" media="all" href="qunit.css" />   
  7.  
  8.     <script src="src/mystuff.js" type="text/javascript"></script>   
  9.     <script src="src-test/mystuff_qunit.js" type="text/javascript"></script>   
  10.  
  11. </head>   
  12. <body>   
  13.     <h1 id="qunit-header">MyStuff</h1>   
  14.     <h2 id="qunit-banner"></h2>   
  15.     <h2 id="qunit-userAgent"></h2>   
  16.     <ol id="qunit-tests"></ol>   
  17. </body>   
  18. </html> 

這個頁面中分別引入了jquery類庫,qunit的類庫,還有就是我們之前編寫的,位于Src目錄下的原先的javascript腳本mystuff.js,以及位于src-test目錄下的測試用例Mystuff_qunit.js。

接下來,來看下測試用例文件Mystuff_qunit.js,代碼如下:

  1. module("Sample Test Case");  
  2.   test("Number plus Zero Equals Number"function(){  
  3.   var adder = new myAwesomeApp.MyAwesomeClass();  
  4.   equals( adder.add(5,0),5);  
  5.   });  
  6.   test("Number plus Number Equals Sum"function(){  
  7.   var adder = new myAwesomeApp.MyAwesomeClass();  
  8.   equals(adder.add(5,3),8);  
  9.   });  
  10.   test("Zero plus Number Equals Number"function(){  
  11.   var adder = new myAwesomeApp.MyAwesomeClass();  
  12.   equals(adder.add(0,5),5);  
  13.   });  
  14.   test("Number plus Negative of Number Equals Zero"function(){  
  15.   var adder = new myAwesomeApp.MyAwesomeClass();  
  16.   equals(adder.add(5,-5),0);  
  17.   });  
  18.   test("Fails miserably"function(){  
  19.   ok(false,"miserably");  
  20.   }); 

這個看上去跟jsTestDriver有點象,但注意的是在斷言方法中,參數的順序不同,即在qunit中,斷言的參數順序為:Qunit.equals(actual, expected),即實際的數值。在前面,而期望的數值在后面,這點請注意。最后,直接在瀏覽器中運行test.html,可以看到效果如下:

 

開源的單元測試工具Qunit

 

其中,紅色部分即時表示沒能通過的單元測試。

整合jsTestDriver和Qunit

由于jsTestDriver和Qunit各有優勢,因此我們可以考慮對其進行整合。比如,我們可以將jsTestDriver編寫的腳本移植到Qunit中去,由于它們的斷言參數順序有不同,因此可以修改一下,編寫名為jsTestDriverInQunit.js的腳本如下:

  1. function TestCase(name, tests){  
  2.   if(tests != null)  
  3.   module(name);  
  4.   for(var key in tests){  
  5.   if(tests[key] instanceof Function && key.indexOf("test") == 0){  
  6.   test(key,tests[key]);  
  7.   }  
  8.   }  
  9.   return function(){};  
  10.   }  
  11.   function assertEquals(arg0,arg1){  
  12.   equals(arg1,arg0);  
  13.   }  
  14.   function fail(msg){  
  15.   ok(false,msg);  
  16.   } 

并且將testrunner.html修改如下:

  1. <DOCTYPE html>   
  2.     <html>   
  3.     <head>   
  4.         <script src="http://code.jquery.com/jquery-1.6.4.min.js" type="text/javascript"></script>   
  5.         <script src="qunit.js" type="text/javascript"></script>   
  6.         <script src="jsTestDriverInQunit.js" type="text/javascript"></script>   
  7.         <link rel="stylesheet" media="all" href="qunit.css" />   
  8.       
  9.         <script src="src/mystuff.js" type="text/javascript"></script>   
  10.         <script src="src-test/mystuff.js" type="text/javascript"></script>   
  11.     </head>   
  12.     <body>   
  13.         <h1 id="qunit-header">MyStuff</h1>   
  14.         <h2 id="qunit-banner"></h2>   
  15.         <h2 id="qunit-userAgent"></h2>   
  16.         <ol id="qunit-tests"></ol>   
  17.     </body>   
  18.     </html>  

此外,還有一個開源項目提供了將Qunit轉化為jsTestDriver的功能,項目地址為:

http://code.google.com/p/js-test-driver/wiki/QUnitAdapter

原文:http://tech.it168.com/a2011/1019/1260/000001260942_all.shtml

【編輯推薦】

  1. 學習JavaScript的最佳方法
  2. stream.js:一個新的JavaScript數據結構
  3. Dart之于JavaScript正如C#之于C++
  4. 移動網站開發中常用的10段JavaScript代碼
  5. JavaScript性能優化技巧之函數節流
責任編輯:陳貽新 來源: it168
相關推薦

2022-09-15 17:08:20

JavaScripWeb開發

2014-04-16 10:10:58

應用測試

2011-03-01 13:10:06

WebjQueryHTML 5

2012-11-01 11:32:23

IBMdw

2012-11-01 11:37:05

JavaScript單元測試測試工具

2009-09-01 16:45:00

C#單元測試工具

2014-02-12 10:46:00

WebJavaScript音頻庫

2011-12-12 09:59:13

JavaScript

2014-02-01 21:31:10

JavaScriptJS框架

2014-06-06 09:56:02

開發者GUI測試工具

2016-12-14 09:31:18

單元測試

2014-04-01 13:50:28

安卓Android開發者

2021-04-08 10:40:24

前端工具代碼

2014-03-14 11:44:28

安卓開發者Android開發

2014-04-18 13:20:34

Android安卓開發工具

2023-11-30 15:30:19

Python編程語言

2021-07-10 13:48:43

Java單元工具

2015-09-06 16:22:48

JavaScriptSublimeText

2017-01-14 23:42:49

單元測試框架軟件測試

2020-10-22 15:05:43

開發者技能工具
點贊
收藏

51CTO技術棧公眾號

日本黄色小说视频| 国产xxxx振车| 一个人看的www日本高清视频| 国产精品久久久乱弄| 日韩你懂的电影在线观看| 人妻互换免费中文字幕| 你懂的免费在线观看视频网站| 日本aⅴ免费视频一区二区三区| 久久亚洲电影天堂| 四虎影成人精品a片| 91精品麻豆| 欧美色videos| 一本久道久久综合| 天天摸天天碰天天爽天天弄| 久久99国产精品尤物| 91国产精品电影| 久久噜噜色综合一区二区| 极品国产人妖chinesets亚洲人妖| 在线观看日韩高清av| 999一区二区三区| 麻豆网站在线| 久久精品一区二区三区不卡牛牛 | 久久电影网电视剧免费观看| 久久人人爽人人爽人人片av高请 | 在线视频你懂得一区二区三区| 青青草免费在线视频观看| 国产三级视频在线看| eeuss影院一区二区三区| 91在线精品播放| 中文字幕乱码视频| 欧美一级一区| 26uuu另类亚洲欧美日本老年| 欧美黄色免费在线观看| 首页国产精品| 永久免费看mv网站入口亚洲| 国产精品探花一区二区在线观看| 中文在线综合| 日韩精品中午字幕| 久久精品久久99| 久久91视频| 欧美午夜片在线看| 久久久久久香蕉| 综合日韩av| 婷婷一区二区三区| 日韩欧美不卡在线| 成人福利影视| 亚洲va国产天堂va久久en| 成人午夜免费剧场| 综合久久2019| 亚洲精品菠萝久久久久久久| 这里只有精品66| 麻豆网站在线看| 亚洲欧美日韩小说| 福利在线小视频| 日韩伦理av| 一区二区三区在线视频观看| 国产成人一区二区三区别| 直接在线观看的三级网址| 亚洲乱码中文字幕综合| 天天做天天躁天天躁| 激情av在线播放| 亚洲一区二区三区激情| 成人午夜免费在线| 中文在线аv在线| 色狠狠综合天天综合综合| 日韩欧美黄色大片| 青青伊人久久| 欧美mv和日韩mv国产网站| 免费a v网站| 国产精品亚洲人成在99www| 亚洲午夜精品久久久久久久久久久久| 日本综合在线观看| 一个色综合网| 午夜精品一区二区三区视频免费看 | 亚洲 欧美 日韩 国产综合 在线| 麻豆成人在线视频| 国内揄拍国内精品久久| 777精品视频| 成人公开免费视频| 久久精品国产亚洲高清剧情介绍| 成人激情春色网| 超碰在线无需免费| 国产999精品久久| 国产一区二区三区av在线| 青青草免费在线| 成人在线超碰| 精品精品欲导航| 久久精品成人av| 四虎成人av| 亚洲91精品在线观看| 黄色污污网站在线观看| 国产在线播放一区二区三区| 国产成人免费观看| 精品久久av| 亚洲毛片av在线| 国产一区视频免费观看| 涩涩涩久久久成人精品| 亚洲精品美女久久久| 精品女人久久久| 在线视频免费在线观看一区二区| 国产免费成人av| 熟妇高潮一区二区三区| 亚洲欧洲一区二区在线播放| 成人免费在线小视频| 国产一区二区视频在线看| 精品一区二区亚洲| 黄色一级免费视频| 欧美aaa在线| 精品乱码一区| 18在线观看的| 精品视频一区二区三区免费| 久久福利小视频| 欧美高清不卡| 国产日本欧美在线观看| 男女污视频在线观看| 一区二区三区在线观看动漫| 91制片厂毛片| 啪啪亚洲精品| 欧美一级片在线播放| 亚洲成人精品女人久久久| 国产精品高潮呻吟| 9久久婷婷国产综合精品性色| 麻豆一区一区三区四区| 九九精品在线观看| 国产尤物视频在线观看| 欧美国产一区在线| 精品久久久噜噜噜噜久久图片| 大陆精大陆国产国语精品| 欧美尺度大的性做爰视频| 在线视频播放大全| 国产精品乱人伦| 亚洲免费av一区二区三区| 日韩欧美ww| 69**夜色精品国产69乱| 丁香六月色婷婷| 一区二区三区四区不卡在线 | 不卡电影免费在线播放一区| 精品国产一区二区三区在线| 国产成年精品| xvideos成人免费中文版| 亚洲视频中文字幕在线观看| 中文字幕+乱码+中文字幕一区| 春日野结衣av| 亚洲97av| 国产成人精品在线视频| 国产在线资源| 欧美日韩一级二级三级| 极品尤物一区二区| 精品在线播放免费| 精品久久免费观看| 日本免费精品| 欧美激情xxxxx| 秋霞网一区二区| 香蕉加勒比综合久久| a天堂视频在线观看| 亚洲综合丁香| 亚洲国产一区二区三区在线| 福利精品在线| 欧美另类老女人| 国产刺激高潮av| 黄色精品在线看| 精品人妻无码一区二区三区换脸| 日韩一区精品视频| 在线视频欧美一区| 日韩一区二区三区色| 久久免费高清视频| 欧美成人综合在线| 精品视频1区2区3区| 美女福利视频在线观看| 不卡av电影在线播放| 欧美三级午夜理伦三级| 久久精品国产68国产精品亚洲| 91香蕉亚洲精品| 91超碰在线| 亚洲欧洲黄色网| 国产精品自拍电影| 午夜不卡av在线| 亚洲色图欧美色| 国产电影一区在线| 成人在线免费在线观看| 日韩欧美视频专区| 国产伦视频一区二区三区| 欧美三级网址| 欧美成人精品xxx| 亚洲色图欧美视频| 欧美精品18+| 在线观看国产亚洲| 综合欧美亚洲日本| 亚洲av成人片色在线观看高潮 | 精品久久久久久| 美国精品一区二区| 波多野结衣在线一区| 丁香婷婷激情网| 国产精品va| 亚洲v国产v在线观看| xvideos.蜜桃一区二区| 国产精品第8页| av在线不卡免费| 色哟哟网站入口亚洲精品| 手机看片福利在线| 欧美一区二区精美| 天天射天天干天天| 亚洲电影一区二区三区| 天堂av免费在线| 久久久91精品国产一区二区精品| 欧美熟妇另类久久久久久多毛| 久久午夜影视| 黄色大片中文字幕| 中文一区一区三区免费在线观看| 欧美性大战久久久久| 成人午夜网址| 亚洲一区二区三| 国产三级一区| 国产97在线视频| 波多野结衣在线播放| 久久影院资源网| 伊人免费在线| 一本色道久久88综合亚洲精品ⅰ | 中文字幕亚洲综合久久筱田步美| 日韩中文字幕免费观看| 欧美一区二区三区日韩| 夜夜狠狠擅视频| 在线日韩av片| 中文字幕在线欧美| 精品免费在线观看| 亚洲国产综合久久| 亚洲一线二线三线久久久| 亚洲天堂网av在线| 国产精品久久久久婷婷二区次| 日本黄色特级片| 波多野结衣在线aⅴ中文字幕不卡| av在线网站免费观看| 精品中文字幕一区二区| 国产又黄又猛的视频| 美国十次了思思久久精品导航| 久久久久久久片| 日韩福利电影在线| 中文字幕无码精品亚洲35| 中文日韩欧美| 免费黄色日本网站| 亚洲一区免费| 日韩毛片在线免费看| 羞羞答答国产精品www一本| 国产男女无遮挡| 另类国产ts人妖高潮视频| 欧美日韩二三区| 欧美中文字幕| 啊啊啊国产视频| 美女脱光内衣内裤视频久久网站| 三级在线视频观看| 久久99国产精品久久99| 91看片破解版| 国产v日产∨综合v精品视频| zjzjzjzjzj亚洲女人| 不卡一区二区中文字幕| 日韩片在线观看| 久久久精品一品道一区| 欧美日韩中文字幕视频| 亚洲视频一区二区在线| 欧美日韩亚洲国产另类| 午夜精品久久久| 免费黄色av片| 欧美一区二区三区在线电影| 亚洲精品综合网| 亚洲男女自偷自拍图片另类| av在线资源网| 久热99视频在线观看| 丁香花在线影院| 日本a级片电影一区二区| 国产精品久久亚洲不卡| 91亚洲精品久久久久久久久久久久| 日本精品在线播放| 蜜桃视频日韩| 久久久国产精品| 成人黄色大片网站| 日韩高清在线观看| 污污视频在线免费| 99精品热视频| 亚洲女同二女同志奶水| 亚洲一区影音先锋| 伊人久久久久久久久久久久| 欧美丰满美乳xxx高潮www| 色噜噜在线播放| 中文字幕在线国产精品| av在线小说| 91精品免费看| 欧美亚洲国产日韩| 一区二区三区国产福利| 亚洲黄色影院| 日韩一级免费片| 91丨九色丨黑人外教| 男人晚上看的视频| 欧美视频一二三| av免费观看网址| 一区二区三区久久精品| 牛牛精品视频在线| 国产日韩在线观看av| 老司机aⅴ在线精品导航| 在线国产伦理一区| 国产一级久久| 日本成人在线免费| 国产精品女上位| www.毛片.com| 日韩精品一区二区三区视频在线观看| 国产区在线视频| 97成人精品视频在线观看| 精品国产鲁一鲁****| 日韩区国产区| 国产精品毛片在线| 少妇伦子伦精品无吗| 国产精品午夜免费| 国产精品男女视频| 精品国产91乱码一区二区三区| 欧美a在线看| 国产精品极品美女粉嫩高清在线| 久久激情av| 99er在线视频| 国产一区二区三区综合| 999久久久国产| 欧洲一区二区三区在线| 三区在线视频| 久久青草福利网站| 99ri日韩精品视频| 波多野结衣与黑人| 国产一区不卡视频| 国精产品一区一区二区三区mba | www.日本一区| 国产日产欧美一区| 五月天婷婷导航| 精品亚洲一区二区三区| 极品视频在线| 狠狠色噜噜狠狠色综合久 | 亚洲色图制服丝袜| 亚洲网站在线免费观看| 中文字幕在线视频日韩| 成人做爰视频www| 台湾成人av| 蜜桃av一区二区三区| 在线观看亚洲大片短视频| 欧美午夜精品一区二区蜜桃| porn视频在线观看| 国产精品视频1区| 视频在线不卡免费观看| 黄色一级片免费的| 亚洲欧美日韩国产中文在线| 国产精品久久影视| 欧美成人三级视频网站| 凹凸av导航大全精品| www插插插无码视频网站| 99re这里都是精品| 国产欧美一区二区三区在线看蜜臂 | 一区在线电影| 久久99精品久久久久久动态图| 五月婷六月丁香| 在线播放国产精品二区一二区四区| 黄色网在线免费观看| 成人两性免费视频| 国产综合网站| asian性开放少妇pics| 在线视频综合导航| 毛片免费不卡| 国产高清不卡av| 性8sex亚洲区入口| 欧美性生给视频| 精品乱人伦小说| 亚洲人体影院| 亚洲五月六月| 国产成人在线看| 国产99久久久| 久久精品久久久久久| 动漫av一区| 亚洲免费av一区二区三区| 中文字幕一区二区三区在线不卡| www夜片内射视频日韩精品成人| 91国产高清在线| 第一sis亚洲原创| 国产成人精品综合久久久久99 | 欧美国产日韩二区| 免费成人av| 亚洲一区二区三区四区精品| 午夜精品久久久久久久| 91在线播放网站| 国产精品国产精品国产专区蜜臀ah | 国产精品沙发午睡系列| 久久亚洲欧美国产精品乐播| 91欧美日韩麻豆精品| 91产国在线观看动作片喷水| 日韩夫妻性生活xx| 国产精品入口麻豆| 欧美日韩一区二区三区四区 | 国产精品国模在线| 亚洲性图久久| 日本一卡二卡在线播放| 日韩精品一区国产麻豆| 国模一区二区| 高清欧美精品xxxxx| 国产精品大尺度| 欧美偷拍视频| av成人免费观看| 美国三级日本三级久久99|