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

簡單易操作的跨瀏覽器JavaScript單元測試解決方案

開發(fā) 測試
前端的單元測試也可以稱為自動化測試,測試驅(qū)動開發(fā),單元測試對于前端模塊化、框架和功能庫的開發(fā)是非常有必要的,只要做好模塊的解耦和功能劃分,單元測試就可以愉快地進行。好的單元測試(全面的功能、拋錯和邊緣覆蓋)可以成為項目開發(fā)或修改完成后是否能“安全上線”的重要判斷依據(jù)之一。

關(guān)于單元測試

前端的單元測試也可以稱為自動化測試,測試驅(qū)動開發(fā),單元測試對于前端模塊化、框架和功能庫的開發(fā)是非常有必要的,只要做好模塊的解耦和功能劃分,單元測試就可以愉快地進行。好的單元測試(全面的功能、拋錯和邊緣覆蓋)可以成為項目開發(fā)或修改完成后是否能“安全上線”的重要判斷依據(jù)之一。

引進跨平臺測試

開發(fā)和運行單元測試通常是在開發(fā)人員的電腦上完成,而任何一臺電腦上所能安裝的瀏覽器是遠遠不能滿足測試兼容性需求的,如果需要配備各種平臺的電腦也是非常浪費人力物力。那么有沒有工具能自動把本地的測試代碼在所有平臺上都跑一遍,并且追蹤完整的測試過程,把 log 信息反饋回本地?有!那就是云測試工具。

目前國內(nèi)外的云測試工具和方案有很多,因為云測試的實質(zhì)是運行遠程虛擬機,需要大量的服務器和齊全的設備,所以大多數(shù)都是收費的。這里推薦 SauceLabs,它雖然也是收費的,但是新注冊的賬號可以提供 8 個并發(fā)測試,免費 90 個小時的自動測試時長,而且操作簡單,用戶體驗非常友好,很多著名的前端框架比如 Vue 等也在使用它進行兼容性測試。

這篇文章就詳細介紹一下如何利用 SauceLabs 這個云測試工具進行跨平臺的 JavaScript 單元測試,讓你的代碼可以輕松的通過所有版本的 Windows IE, Mac Safari 以及各種移動設備瀏覽器的測試評估,測試后還可以生成瀏覽器測試狀態(tài)矩陣圖:

 

主流的 JavaScript 測試框架在 SauceLabs 上都有文檔和配置說明,其中 Karma 是配置最為簡單易懂的測試框架之一,下文就詳細介紹下 Karma + SauceLabs 進行跨平臺單元測試的整個流程,以及我自己在使用中遇到的一些問題和解決方法,如果你不用 Karma,可以在 這里 查找其他測試框架的配置方法。

以下步驟的前提是你已經(jīng)寫好了測試用例,如果你還不知道如何編寫和組織單元測試,可以參考 js-test-workflows 的簡單例子來開始學習 JavaScript 單元測試。

配置步驟

1. 安裝 Karma

整個 SauceLabs 測試都是基于 Karma 配置文件 karma.sauce.js 完成的,通過插件 karma-sauce-launcher 自動完成遠程服務器的連接和測試代碼的提交。如果你的項目已經(jīng)配備好了 Karma 和斷言庫,可以忽略此步驟。

安裝測試框架 Karma

  1. npm install karma -g 

安裝測試斷言庫 jasmine (也可以選擇其他庫如 assert, should 等)

  1. npm install karma-jasmine 

2. 安裝 karma-sauce-launcher

這個工具是讓 Karma 和 SauceLabs 建立連接的橋梁,它的作用是把本地的測試代碼提交到云端測試虛擬機上,告訴 SauceLabs 要啟動哪個系統(tǒng)哪個版本的瀏覽器來跑我們的測試代碼,并且把測試結(jié)果、錯誤信息和追蹤棧返回到本地的終端,一旦測試不通過,可以根據(jù)返回的信息來調(diào)試出錯的代碼。

  1. npm install karma-sauce-launcher --save-dev 

3. 注冊 SauceLabs 并獲取 accessKey

  • SauceLabs 免費注冊地址:https://saucelabs.com/signup/...
  • 注冊完成后,登陸賬號,進入 Dashboard, 點擊右下角的用戶名,彈出菜單選擇 User Setting 進入用戶設置:
  • 找到 USERNAME 和 Access Key:

[[174584]]

 

 

 

 

 

  • 在項目目錄下建立一個 sauce.json 文件來記錄上面的 userName 和 accessKey,這兩個字段的作用是連接 SauceLabs 服務器的身份驗證。
  1.     "username""xxxx"
  2.     "accesskey""xxx" 
  3.  

4. 編寫測試配置文件

在項目目錄下添加測試配置文件 karma.sauce.js 該文件是整個跨平臺測試的主要文件,也是 Karma 的入口文件,配置內(nèi)容如下:

  1. var sauce = require('./sauce.json'); // 引進 userName 和 key 
  2.  
  3. // 生成一個 SauceLabs 瀏覽器配置信息,可以指定運行的系統(tǒng)和瀏覽器版本 
  4. function createCustomLauncher (browser, platform, version) { 
  5.     return { 
  6.         base: 'SauceLabs'
  7.         browserName: browser, 
  8.         platform: platform, 
  9.         version: version 
  10.     }; 
  11.  
  12. // 定義所有需要在云端測試的平臺和瀏覽器 
  13. // 名字的定義是隨意的,SauceLabs 只會根據(jù)配置內(nèi)容來啟動對應的瀏覽器 
  14. // 所有完整的平臺設備列表:https://saucelabs.com/platforms 
  15. var customLaunchers = { 
  16.     // 主流瀏覽器 
  17.     sl_win_chrome: createCustomLauncher('chrome''Windows 7'), 
  18.     sl_mac_chrome: createCustomLauncher('chrome''OS X 10.10'), 
  19.     sl_win_firefox: createCustomLauncher('firefox''Windows 7'), 
  20.     sl_mac_firefox: createCustomLauncher('firefox''OS X 10.10'), 
  21.     sl_mac_safari: createCustomLauncher('safari''OS X 10.11'), 
  22.  
  23.     // 移動設備瀏覽器 
  24.     sl_ios_8_safari: createCustomLauncher('iphone'null'8.4'), 
  25.     sl_ios_9_safari: createCustomLauncher('iphone'null'9.3'), 
  26.     sl_android_4_2: createCustomLauncher('android'null'4.2'), 
  27.     sl_android_5_1: createCustomLauncher('android'null'5.1'), 
  28.  
  29.     // Microsoft Edge 
  30.     sl_edge: createCustomLauncher('MicrosoftEdge''Windows 10'), 
  31.  
  32.     // IE 瀏覽器 
  33.     sl_ie_9: createCustomLauncher('internet explorer''Windows 7''9'), 
  34.     sl_ie_10: createCustomLauncher('internet explorer''Windows 8''10'), 
  35.     sl_ie_11: createCustomLauncher('internet explorer''Windows 10''11'
  36. }; 
  37.  
  38. // Karma 配置參數(shù) 
  39. // https://karma-runner.github.io/1.0/config/configuration-file.html 
  40. module.exports = function (KarmaConfig) { 
  41.     // 將 SauceLabs 提供的 username 和 accesskey 放到環(huán)境變量中 
  42.     if (!process.env.SAUCE_USERNAME || !process.env.SAUCE_ACCESS_KEY) { 
  43.         process.env.SAUCE_USERNAME = sauce.username; 
  44.         process.env.SAUCE_ACCESS_KEY = sauce.accesskey; 
  45.     } 
  46.      
  47.     // 設置測試的超時時間 
  48.     var maxExecuteTime = 5*60*1000; 
  49.     KarmaConfig.set({ 
  50.         // 加載測試文件的根目錄 
  51.         basePath: ''
  52.         // 使用的斷言庫 
  53.         frameworks: ['jasmine'], 
  54.         // 告訴 Karma 要將哪些 js 文件加載到瀏覽器運行測試 
  55.         files: [ 
  56.             '../src/**/*.js'
  57.             '../test/**/*.js' 
  58.         ], 
  59.         // SauceLabs 的配置,這里只需要配置幾個重要的字段即可,完整的字段可以參考: 
  60.         // https://wiki.saucelabs.com/display/DOCS/Test+Configuration+Options 
  61.         sauceLabs: { 
  62.             // 測試結(jié)果是否公開,如果希望生成矩陣圖,必須是 public 
  63.             public'public'
  64.             // 是否在測試過程記錄虛擬機的運行錄像 
  65.             recordVideo: false
  66.             // 是否在測試過程記錄虛擬機的圖像 
  67.             recordScreenshots: false
  68.             // 測試名稱 
  69.             testName: 'Cross browsers test'
  70.             // 測試的記錄號,可以為任意字符,如果希望生成矩陣圖,build 不能為空 
  71.             build: 'build-' + Date.now() 
  72.         }, 
  73.         // 自定義運行測試的 SauceLabs 瀏覽器 
  74.         customLaunchers: customLaunchers, 
  75.         browsers: Object.keys(customLaunchers), 
  76.         // 測試處理的報告程序 
  77.         reporters: ['progress''saucelabs'], 
  78.         // ***超時時間 
  79.         captureTimeout: maxExecuteTime, 
  80.         browserNoActivityTimeout: maxExecuteTime 
  81.     }); 
  82.  

5. 啟動 SauceLabs 測試

在終端輸入:

  1. karma start karma.sauce.js 

本地的測試代碼就會在 SauceLabs 云端跑起來了,注意的一點是,雖然免費用戶只有 8 個并發(fā)的測試連接,但并不意味著一次只能測試 8 種瀏覽器,上面的 customLaunchers 一共定義了 13 中不同的瀏覽器,他們會先執(zhí)行 8 個,空閑后再執(zhí)行余下的,直至全部運行完畢。

云端測試完畢后的信息如下:

  1. Chrome 54.0.2840 (Windows 7 0.0.0): Executed 143 of 143 SUCCESS (1.365 secs / 1.176 secs) 
  2. IE 10.0.0 (Windows 8 0.0.0): Executed 143 of 143 SUCCESS (1.313 secs / 1.118 secs) 
  3. IE 9.0.0 (Windows 7 0.0.0): Executed 143 of 143 SUCCESS (1.312 secs / 1.113 secs) 
  4. Firefox 47.0.0 (Mac OS X 10.10.0): Executed 143 of 143 SUCCESS (2.016 secs / 2.058 secs) 
  5. Chrome 54.0.2840 (Mac OS X 10.10.5): Executed 143 of 143 SUCCESS (1.724 secs / 1.485 secs) 
  6. Chrome 54.0.2840 (Windows 7 0.0.0): Executed 143 of 143 SUCCESS (1.365 secs / 1.176 secs) 
  7. IE 10.0.0 (Windows 8 0.0.0): Executed 143 of 143 SUCCESS (1.313 secs / 1.118 secs) 
  8. IE 9.0.0 (Windows 7 0.0.0): Executed 143 of 143 SUCCESS (1.312 secs / 1.113 secs) 
  9. Firefox 47.0.0 (Mac OS X 10.10.0): Executed 143 of 143 SUCCESS (2.016 secs / 2.058 secs) 
  10. Chrome 54.0.2840 (Mac OS X 10.10.5): Executed 143 of 143 SUCCESS (1.724 secs / 1.485 secs) 
  11. IE 11.0.0 (Windows 10 0.0.0): Executed 143 of 143 SUCCESS (2.584 secs / 1.262 secs) 
  12. Firefox 49.0.0 (Windows 7 0.0.0): Executed 143 of 143 SUCCESS (2.3 secs / 1.25 secs) 
  13. Safari 9.1.2 (Mac OS X 10.11.6): Executed 143 of 143 SUCCESS (1.164 secs / 1.173 secs) 
  14. Edge 14.14393.0 (Windows 10 0.0.0): Executed 143 of 143 SUCCESS (1.441 secs / 1.301 secs) 
  15. Chrome Mobile 39.0.0 (Android 5.1.0): Executed 143 of 143 SUCCESS (1.815 secs / 1.52 secs) 
  16. Android 4.2.0 (Android 4.2.0): Executed 143 of 143 SUCCESS (1.727 secs / 1.153 secs) 
  17. Mobile Safari 9.0.0 (iOS 9.3.0): Executed 143 of 143 SUCCESS (2.328 secs / 1.061 secs)  

6. 獲取測試狀態(tài)和矩陣圖

等所有瀏覽器都運行測試完畢后 SauceLabs 會生成狀態(tài)和矩陣 svg 方便檢查和公布代碼測試狀態(tài),也可以在https://saucelabs.com/u/YOUR_... 上查看狀態(tài)結(jié)果。

  • 狀態(tài)圖標
  1. <a href="https://saucelabs.com/u/YOUR_SAUCE_USERNAME"
  2.       <img src="https://saucelabs.com/buildstatus/YOUR_SAUCE_USERNAME" alt="Sauce Test Status"/> 
  3. </a>   
  • 瀏覽器矩陣圖
  1. <a href="https://saucelabs.com/u/YOUR_SAUCE_USERNAME"
  2.       <img src="https://saucelabs.com/browser-matrix/YOUR_SAUCE_USERNAME.svg" alt="Sauce Test Status"/> 
  3. </a>  

然后可以把這兩個狀態(tài)圖標放到項目的 README 中,讓人一看就知道目前項目的測試狀態(tài)和瀏覽器兼容性了(SauceLabs 的 svg 的更新有點慢):

 

總結(jié)

簡單總結(jié)下 SauceLabs 的優(yōu)點:

  1. 提供幾百種平臺設備,基本上可以滿足所有的兼容性測試需求;
  2. 配合 Karma 進行單元測試,操作簡單易于部署;
  3. 提供測試、錯誤信息的及時反饋,便于查找錯誤;
  4. 免費使用 90 個小時的測試時長!

另外,分享下我自己使用 SauceLabs 遇到的幾個問題:

  1. 偶爾遇到 Disconnect 和 Timeout 的情況,可能是由于國內(nèi)網(wǎng)絡原因,多試幾次就好了。
  2. 配置參數(shù)里面的 captureTimeout 和 browserNoActivityTimeout 可以設得稍長些,有些連接超時也是因為這兩個的默認時長太小了,另外如果不需要記錄錄像和圖像,可以將 recordVideo 和 recordScreenshots 設為 false 可以縮短運行時間。
  3. 如果總是遇到 Disconnect 的情況,一個就是可能你的代碼有問題(有些錯誤警告在某些瀏覽器下是不會拋出的,比如 Safari)還有一個就是 Karma 的版本問題,v0.13.x 經(jīng)常出現(xiàn)鏈接超時,升到***版本即可。
  4. 對于錯誤產(chǎn)生的 Disconnect 并且沒有拋錯的情況,可以安裝 karma-spec-launcher 并且把 Karma 的測試處理報告程序改成reporters: ['spec', 'saucelabs'] 這樣就可以在終端很清晰的看到運行到哪個測試用例導致的 Disconnect,方便排查出錯的地方。
  5. 如果是開源項目,記得把 sauce.json 文件放到 .gitignore 中,不要暴露你的 AccessKey 到 git 提交中。

 

責任編輯:龐桂玉 來源: segmentfault
相關(guān)推薦

2012-01-04 16:14:17

2010-09-15 09:12:03

JavaScript瀏覽器兼容

2013-06-03 14:20:34

2013-11-05 10:22:20

瀏覽器加密

2010-08-17 14:22:47

JavaScript兼容性

2009-09-25 10:33:25

Hibernate單元

2010-05-31 10:11:02

2017-01-14 23:42:49

單元測試框架軟件測試

2011-11-30 22:03:49

ibmdwJava

2012-11-01 11:32:23

IBMdw

2012-11-01 11:37:05

JavaScript單元測試測試工具

2010-08-11 15:17:51

瀏覽器兼容性問題

2023-04-07 08:25:33

JavaScript瀏覽器映射

2022-04-07 09:00:00

跨瀏覽器測試自動化服務異常

2021-12-27 11:26:58

GoogleChrome 100瀏覽器

2011-04-01 15:09:08

MRTG亂碼

2010-08-27 14:35:37

IEFirefox兼容

2020-07-30 13:17:26

瀏覽器測試工具網(wǎng)站兼容性

2009-03-23 08:50:53

瀏覽器Expression

2025-03-13 07:01:22

Edge瀏覽器插件
點贊
收藏

51CTO技術(shù)棧公眾號

老司机午夜精品99久久| 欧美激情极品| 亚洲综合激情另类小说区| 国产精品一区免费观看| 97超碰人人干| 日韩精品诱惑一区?区三区| 91麻豆精品国产91久久久久久| www.欧美黄色| 国产高清自拍视频在线观看| 国产美女精品一区二区三区| 91av视频在线免费观看| 最新黄色av网址| 色天天色综合| 欧美一级片免费看| 北条麻妃av高潮尖叫在线观看| 91在线网址| 99久久免费精品高清特色大片| 国产精品女主播视频| 国产无码精品视频| 91青青国产在线观看精品| 亚洲成人久久电影| 少妇愉情理伦片bd| 成人四虎影院| 欧美性猛xxx| www.男人天堂网| 日韩在线免费电影| 久久女同互慰一区二区三区| 99热在线国产| 91资源在线视频| 日韩在线一区二区| 97色在线播放视频| 精品欧美一区二区久久久久 | 国产亚洲高清视频| 欧美成人在线网站| 极品久久久久久| 久久成人综合| 欲色天天网综合久久| 草草地址线路①屁屁影院成人| 国产精品毛片aⅴ一区二区三区| 在线精品观看国产| 日韩毛片在线免费看| 91九色在线播放| 一区二区三区不卡视频在线观看| 亚洲日本精品| 欧美jizzhd69巨大| 亚洲国产精品高清| 午夜精品视频在线观看一区二区| 可以在线观看的黄色| 91免费观看视频在线| 精品欧美一区二区精品久久| 亚洲av无码乱码在线观看性色| 国产麻豆欧美日韩一区| 亚洲a级在线观看| 国产三级在线观看视频| 久久99精品国产.久久久久| 国产精品丝袜视频| 中文字幕在线观看欧美| 久久国产精品区| 91精品免费看| 国产女人高潮时对白| 国产成人在线免费观看| 成人欧美视频在线| 少妇人妻精品一区二区三区| 成人免费高清在线| 久久av一区二区| 青青九九免费视频在线| 国产三级一区二区三区| 图片区小说区区亚洲五月| 色欧美激情视频在线| 亚洲色图.com| 男女猛烈激情xx00免费视频| av老司机在线观看| 色婷婷综合视频在线观看| 久久精品视频91| 成人全视频在线观看在线播放高清| 欧美色爱综合网| 日本精品一区在线| 国产精品久久久网站| 精品五月天久久| 一本在线免费视频| 综合天堂av久久久久久久| 久久久久久成人| 天堂网一区二区| 精品一区二区三区免费观看| 高清视频在线观看一区| 日本五码在线| 中文字幕一区三区| 成人午夜免费在线视频| 亚洲一区站长工具| 欧美日韩国产一级片| 国产高潮视频在线观看| 欧美日韩国产高清电影| 欧美成人精品在线播放| 800av免费在线观看| 蜜臂av日日欢夜夜爽一区| 成人av中文| 91网在线播放| 午夜久久久久久久久| 男人搞女人网站| 91久久精品无嫩草影院 | 无码人妻av一区二区三区波多野 | 久久久综合精品| 亚洲精品中字| 无遮挡爽大片在线观看视频| 欧美日韩国产综合一区二区三区| 黑人性生活视频| 精品美女在线视频| 久久久久国产精品www| 天天爱天天做天天爽| 从欧美一区二区三区| 亚洲韩国在线| 女人让男人操自己视频在线观看 | 人妻无码中文字幕免费视频蜜桃| 中文在线一区二区| 中国丰满人妻videoshd| 日韩欧美另类中文字幕| 色偷偷偷亚洲综合网另类| 久久不卡免费视频| 国产精品99久| 在线播放 亚洲| 在线日韩影院| 亚洲精品国产欧美| 久久久久久久久久久久久久久久久| 日韩av电影免费观看高清完整版| 国产在线欧美日韩| 2021国产在线| 欧美日韩国产小视频| 性欧美一区二区| 一区二区三区福利| 国产麻豆日韩| 欧美videosex性极品hd| 欧美乱妇15p| 免费看黄色三级| 久久午夜精品| 欧美亚洲免费高清在线观看 | 91精品综合| 国产区精品在线观看| 91涩漫在线观看| 欧美专区亚洲专区| 潮喷失禁大喷水aⅴ无码| 日韩一区精品视频| 污视频在线免费观看一区二区三区| 中文字幕在线看片| 日韩精品中文在线观看| 国产手机在线视频| 91首页免费视频| 国产极品尤物在线| 一区二区美女| 国产成人福利视频| 岛国最新视频免费在线观看| 日韩欧美精品免费在线| 91成年人网站| 日韩在线一区二区三区| 亚洲精品一区二区三区四区五区 | 日本在线观看免费| 欧美久久久久久久久中文字幕| 国产视频不卡在线| 九九国产精品视频| 特级黄色录像片| 亚洲日本va午夜在线电影| 国模gogo一区二区大胆私拍| 手机在线观看毛片| 色域天天综合网| 女人裸体性做爰全过| 国产一区二区三区免费在线观看| 一本久道久久综合狠狠爱亚洲精品| 亚洲欧美一级| 欧美激情精品久久久久久免费印度| 午夜精品久久久久久久99| 亚洲成人动漫一区| 中文字幕人妻一区二区三区在线视频| 蜜桃视频在线一区| 国产911在线观看| 国产精品超碰| 国产精品久久久91| caopeng在线| 精品亚洲一区二区三区| 国产一区二区小视频| 一区二区三区四区不卡在线 | 黄色片在线免费| 香蕉精品视频在线观看| 国产成人女人毛片视频在线| 亚洲精品mv| 日韩在线观看成人| 亚洲免费一级片| 在线精品视频免费播放| 久久免费小视频| 久久青草欧美一区二区三区| 午夜视频在线网站| 99在线|亚洲一区二区| 日韩福利视频| 日韩精品一区二区三区中文在线| 国产91精品久久久久久久| 日本中文字幕电影在线免费观看| 欧美成人精品福利| 亚洲男人天堂网址| 亚洲成av人片在线观看| www.黄色com| 波多野结衣在线一区| 中文字幕网av| 国产亚洲在线观看| 国产一二三四五| 伊人久久大香线蕉无限次| 亚洲一区美女视频在线观看免费| 亚洲精品永久免费视频| 久久亚洲综合国产精品99麻豆精品福利 | 高清免费电影在线观看| 日韩精品免费在线观看| 99国产精品久久久久99打野战| 色综合久久久网| 欧美一级高潮片| 亚洲婷婷综合久久一本伊一区| 中文字幕在线观看的网站| 国产精品69毛片高清亚洲| 亚洲人成无码www久久久| 极品少妇一区二区三区| 一区二区三区视频在线播放| 亚洲精华一区二区三区| 99精彩视频在线观看免费| 久久久久黄色| 日韩美女视频中文字幕| www.九色在线| 欧美大片欧美激情性色a∨久久| 1769视频在线播放免费观看| 日韩hd视频在线观看| 免费看av毛片| 日韩欧美激情在线| 国产三级自拍视频| 在线播放视频一区| 一区精品在线观看| 欧洲激情一区二区| www.av88| 欧美性生活久久| 夜夜爽妓女8888视频免费观看| 天天操天天干天天综合网| 久久激情免费视频| 一区二区免费视频| 欧美黑人精品一区二区不卡| 专区另类欧美日韩| 老司机成人免费视频| 国产精品久久久久久久久久免费看 | 韩国三级成人在线| 91深夜福利视频| av在线成人| 91在线观看欧美日韩| 亚洲精品第一| 亚洲va电影大全| 日韩08精品| 福利精品视频| 岛国成人av| 久久精品国产一区二区三区日韩| 老司机精品视频在线播放| 精品国产一区二区三区麻豆免费观看完整版| 中文字幕av一区二区三区四区| 99精彩视频| 日韩激情网站| 欧美激情一区二区三区在线视频| 亚洲精品进入| 亚洲黄色成人久久久| 婷婷精品进入| a级片一区二区| 亚洲福利专区| 波多野结衣家庭教师视频 | 欧美性猛交xxxx乱大交91| 国产一级精品在线| 日本在线不卡一区二区| www.欧美日韩国产在线| 亚洲一区二区观看| 国产欧美中文在线| 极品美妇后花庭翘臀娇吟小说| 亚洲欧美另类久久久精品| 成人免费看片98| 好吊成人免视频| 最近国语视频在线观看免费播放| 欧美情侣在线播放| www.成人在线观看| 日韩经典中文字幕在线观看| 国产精品一区二区三区四区色| 视频直播国产精品| 手机av免费在线| 欧亚精品中文字幕| 日韩综合久久| 精品一区2区三区| 国产高清欧美| 少妇高潮喷水在线观看| 欧美aaaaa成人免费观看视频| 日本黄色www| 国产亚洲一区字幕| 精品一区二区三区人妻| 在线一区二区三区四区五区| 国产99视频在线| 亚洲国产婷婷| 亚洲欧美在线看| 91caoporn在线| 欧美激情视频网站| 日本综合视频| 国产成人精品福利一区二区三区| 狠狠色狠狠色综合婷婷tag| 国产91porn| 日韩精品久久理论片| 苍井空张开腿实干12次| 国产午夜精品福利| 妺妺窝人体色www在线下载| 在线区一区二视频| 日本免费一区视频| 久久久国产精品x99av| 神马久久午夜| 春色成人在线视频| 国产精品99一区二区三| 国产成人亚洲精品无码h在线 | 日本黄色www| 亚洲国产高清不卡| 啦啦啦免费高清视频在线观看| 7777精品伊人久久久大香线蕉超级流畅| 蜜桃在线一区二区| 久久视频在线直播| 久久麻豆视频| 日韩欧美视频一区二区| 亚洲一区黄色| 免费日本黄色网址| 亚洲乱码国产乱码精品精的特点 | 久久久国产精品一区二区三区| 先锋资源久久| 中文字幕av专区| 久久男人中文字幕资源站| 四虎成人精品永久免费av| 欧美一卡2卡3卡4卡| 免费日本一区二区三区视频| 国产精品久久久久久av福利| 日日狠狠久久偷偷综合色| 久久亚洲中文字幕无码| 成人手机在线视频| 欧美日韩在线视频免费| 欧美一区永久视频免费观看| 在线国产91| 国产日韩欧美夫妻视频在线观看| 精品无人区麻豆乱码久久久| heyzo国产| 91丨国产丨九色丨pron| 日本三级黄色大片| 亚洲精品999| 麻豆视频在线看| 美日韩免费视频| 亚洲欧美日韩国产一区二区| 亚洲第九十七页| 欧美视频在线观看 亚洲欧| 亚州视频一区二区三区| 51ⅴ精品国产91久久久久久| 欧美午夜18电影| 国产午夜福利视频在线观看| 久久这里都是精品| 日本一区二区免费电影| 亚洲一区第一页| av成人在线看| 最近中文字幕免费mv| 国产精品888| 国产成人在线免费观看视频| 日韩精品在线视频观看| 亚洲精品国产嫩草在线观看| 新呦u视频一区二区| 久久国产精品色| 久久久国产精品黄毛片| 亚洲国产精品久久91精品| 涩涩视频在线免费看| 天堂va久久久噜噜噜久久va| 久久99精品国产| 欧美毛片在线观看| 日韩成人久久久| 国产另类xxxxhd高清| 一区二区三区av在线| 国产成人午夜99999| 久久久国产精品成人免费| 一区二区三区 在线观看视| 91精品网站在线观看| 隔壁人妻偷人bd中字| 久久久精品日韩欧美| 一区二区三区黄色片| 欧美日韩ab片| 久久99精品久久久久久园产越南| 性猛交ⅹ×××乱大交| 亚洲自拍偷拍麻豆| 国产三级在线免费| 99re视频在线观看| 男人的天堂亚洲在线| 日韩国产第一页| 亚洲激情中文字幕| crdy在线观看欧美| 日韩精品―中文字幕| 中文字幕一区二区三区不卡 | av中文字幕av| 久久蜜桃一区二区| 国产精品视频一二区| 9.1国产丝袜在线观看| 午夜精品久久久久久久四虎美女版| 美女扒开腿免费视频| 欧美日韩高清一区二区| 91黄页在线观看| 在线视频亚洲自拍| 91麻豆免费观看| 亚洲第一色网站|