国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

針對(duì)自動(dòng)化測(cè)試的 23 種 Node.js 優(yōu)秀實(shí)踐

譯文
開發(fā) 前端 自動(dòng)化
本文通過和您討論23種有關(guān)Node.js的優(yōu)秀實(shí)踐,方便您以系統(tǒng)化的方法,無縫地執(zhí)行各類自動(dòng)化測(cè)試用例。

[[390922]]

【51CTO.com快譯】如果您是一名開發(fā)者,那么對(duì)Node.js一定不陌生。由Node.js提供的各種優(yōu)秀實(shí)踐,可以方便您大幅地提高應(yīng)用的性能。而在JavaScript的支持下,Node.js可以運(yùn)行在服務(wù)器上,以方便開發(fā)人員用它來構(gòu)建企業(yè)級(jí)應(yīng)用。目前,像Amazon和LinkedIn之類的知名應(yīng)用網(wǎng)站都用到了Node.js。當(dāng)然,Node.js也可以被用在自動(dòng)化測(cè)試的場(chǎng)景中。本文將和您討論23種有關(guān)Node.js的優(yōu)秀實(shí)踐。

1.最小化測(cè)試用例

為了獲得更好的測(cè)試結(jié)果,我們通常會(huì)最小化Node.js中的測(cè)試用例,以避免測(cè)試數(shù)據(jù)的相互干擾。也就是說,就算某一項(xiàng)測(cè)試失敗了,也不會(huì)影響到其他測(cè)試,并且能夠提供更加具體的結(jié)果。同時(shí),此法還能最大程度地提高測(cè)試的效率。

2.測(cè)試用例的命名規(guī)則

規(guī)范化且有意義的名稱對(duì)于有效編寫測(cè)試用例,并實(shí)現(xiàn)其預(yù)定效果是至關(guān)重要的。例如,您應(yīng)該使用諸如:checkCountryLanguage()和validateUserPhoneNumber()之類的正確命名方式,而不應(yīng)隨機(jī)、任意地分配名稱。通常,良好的測(cè)試用例名稱,應(yīng)當(dāng)能夠明確說明以下內(nèi)容:

  • 待測(cè)試的功能。
  • 待執(zhí)行的特定場(chǎng)景。
  • 預(yù)期的測(cè)試結(jié)果。

3.使用BDD樣式

使用與被測(cè)產(chǎn)品類似或相同的語言,來編寫測(cè)試樣式的好處在于,既能讓用戶一目了然地理解測(cè)試流程和期望,又能將實(shí)際的代碼部分對(duì)非技術(shù)相關(guān)人員進(jìn)行隱藏。行為驅(qū)動(dòng)開發(fā)(Behavior Driven Development,BDD)是這種方法的優(yōu)秀示例,它不但易于操作,而且能與Node.js進(jìn)行良好的集成,因此備受企業(yè)用戶的歡迎。

4.實(shí)施斷言(Assertions)

作為測(cè)試用例的重要組成部分,斷言的聲明性語句能夠通過提供布爾輸出,協(xié)助測(cè)試人員驗(yàn)證是否已按照預(yù)期執(zhí)行了測(cè)試用例。在Node.js的自動(dòng)化測(cè)試中,斷言通過self-explanatory的方式,不但可以減少代碼總量,并且能夠提供可靠的結(jié)果。對(duì)于開發(fā)人員而言,斷言既可以節(jié)省他們檢查完整輸出的時(shí)間,又能夠通過將每個(gè)步驟中的響應(yīng)結(jié)果,與期望值做比較,以判斷是否通過了測(cè)試。整個(gè)過程都可以通過節(jié)點(diǎn)中的Chai庫(kù),來輕松實(shí)現(xiàn)的。例如,我們可以構(gòu)建如下斷言:expect(todayWeather).to.be.(clear);

5.最小化測(cè)試用例的幫助和抽象

作為一個(gè)完整的單元,良好的測(cè)試用例代碼往往具有良好的結(jié)構(gòu),以及最少的外部交互(或稱耦合)。新手開發(fā)人員或測(cè)試人員不必通過借鑒另一個(gè)測(cè)試,來理解先前的測(cè)試,也不必遍歷完整的測(cè)試用例結(jié)構(gòu)。因此,最小化測(cè)試用例的幫助和抽象,可以讓用例更加簡(jiǎn)單易懂,且易于維護(hù)。

6.測(cè)試運(yùn)行程序

測(cè)試運(yùn)行程序不但帶有各種庫(kù)與工具,還包含許多單元測(cè)試的源代碼目錄。它能夠以用戶可讀的日志文件形式,在其控制臺(tái)上呈現(xiàn)測(cè)試結(jié)果。目前,市場(chǎng)上的眾多測(cè)試運(yùn)行程序中,當(dāng)屬M(fèi)ocha最適合Node.js測(cè)試。

作為一個(gè)開源的測(cè)試運(yùn)行程序,Mocha提供了一種易于編程的程序化方法,來測(cè)試并獲取結(jié)果。在與數(shù)據(jù)庫(kù)一起使用時(shí),我們可以通過Mocha,將真實(shí)或虛擬值提供給測(cè)試用例,以進(jìn)行全面的Node.js測(cè)試。

7.測(cè)試覆蓋率

通常,測(cè)試覆蓋率可用于評(píng)估測(cè)試用例所覆蓋的代碼量,因此它也是我們?cè)诰帉憸y(cè)試時(shí)的一項(xiàng)重要指標(biāo)。為了保證在編寫Node.js測(cè)試用例時(shí),能夠獲得良好覆蓋率,我們除了了解目標(biāo)應(yīng)用的基本性質(zhì)與功能,還應(yīng)該從成本增加的角度,謹(jǐn)慎考慮哪些需要被添加到測(cè)試范圍中。例如,對(duì)于實(shí)時(shí)且具有高度交互特點(diǎn)的應(yīng)用,我們應(yīng)當(dāng)保證測(cè)試的覆蓋率盡量達(dá)到100%,以獲得全面的測(cè)試結(jié)果。為此,您可以選用Istanbul測(cè)試覆蓋率工具,以實(shí)現(xiàn)與Mocha的良好集成。

8.用插件提高測(cè)試覆蓋率

為了避免由于某種原因所導(dǎo)致的任何失敗或測(cè)試被跳過,我們可以通過添加插件,來最大程度地提高代碼測(cè)試的覆蓋率。同時(shí),它們可以共享測(cè)試成敗的相關(guān)報(bào)告,以減少原有測(cè)試的誤報(bào)率。

9.分析測(cè)試覆蓋率報(bào)告

如前文所述,我們可以通過將Mocha和Istanbul相結(jié)合,以生成簡(jiǎn)單、直接、實(shí)用的測(cè)試覆蓋率報(bào)告。而通過對(duì)報(bào)告深入分析,開發(fā)人員則能夠查找出故障的根源,進(jìn)而著手修復(fù)。

10.標(biāo)注測(cè)試用例

不同的測(cè)試用例往往側(cè)重于不同的場(chǎng)景和需求。我們需要根據(jù)使用情況,將它們分門別類。當(dāng)然,由于某些測(cè)試可能會(huì)橫跨多個(gè)組類,因此最好的方法便是對(duì)測(cè)試用例進(jìn)行標(biāo)注。例如我們可以分配:冒煙(smoke)測(cè)試、I/O測(cè)試、健全(sanity)測(cè)試,端到端(e2e)測(cè)試等標(biāo)簽。據(jù)此,我們可以快速分清,哪些測(cè)試用例是真正適合目標(biāo)應(yīng)用的。

11.變異測(cè)試

有時(shí)候,測(cè)試人員需要使用一些虛擬數(shù)據(jù)或模擬數(shù)據(jù),來通過調(diào)整應(yīng)用程序的邏輯與行為,以定位程序代碼的缺陷。對(duì)此,我們可以事先定義好相關(guān)變異操作,例如:使用錯(cuò)誤的操作符或變量名,來模擬典型的應(yīng)用錯(cuò)誤。此舉有時(shí)也被稱為“植入錯(cuò)誤”,以查看開發(fā)出的代碼邏輯在意外情況下,將如何做出反應(yīng)。在自動(dòng)化Node.js測(cè)試中,此類測(cè)試往往能夠讓開發(fā)人員在極端問題出現(xiàn)之前,予以處理和解決。Stryker是該領(lǐng)域最受歡迎的代碼庫(kù),建議您將其添加到常用Node.js測(cè)試工具列表中。

12.非剽竊(Non-Plagiarised)測(cè)試

有時(shí)候,開發(fā)人員可能會(huì)直接從互聯(lián)網(wǎng)上復(fù)制一段代碼,并將其運(yùn)用到正在開發(fā)的軟件應(yīng)用中。不過,他們不會(huì)意識(shí)到該代碼可能已經(jīng)被許可給了其他公司。由此引發(fā)的版權(quán)問題,很可能會(huì)導(dǎo)致嚴(yán)重的法律糾紛。因此,在使用Node.js時(shí),檢查“剽竊”是非常常見的做法。我們可以通過安裝以下軟件包,來實(shí)現(xiàn):node.js npm plagiarism-checker。具體安裝與使用步驟如下--

1. 安裝:npm i plagiarism-checker

2. 請(qǐng)?zhí)砑右韵聝?nèi)容,以使用該代碼庫(kù):

  1. var a = require('plagiarism-checker'); 
  2. var b = new a(); 
  3. var config = b.getConfig(); 

3. 從鏈接--https://www.npmjs.com/package/plagiarism-checker處,下載剽竊檢查器的代碼。

4. 在安裝如下依賴項(xiàng)后,將其添加至項(xiàng)目中:

  1. $ npm install lodash 
  2. $ npm install request 
  3. $ npm install request-promise 
  4. $ npm install mime-types 

13.提供邏輯輸入

對(duì)于自動(dòng)測(cè)試用例,測(cè)試人員有時(shí)會(huì)傾向于,將各種與實(shí)際情況相去甚遠(yuǎn)的隨機(jī)值作為輸入,其結(jié)果往往無法評(píng)估出確切的效果與性能。因此我們應(yīng)當(dāng)始終采用與現(xiàn)實(shí)生活場(chǎng)景相切合的近似實(shí)際輸入,來測(cè)試應(yīng)用的真實(shí)水準(zhǔn)。在此方面,F(xiàn)aker庫(kù)能夠通過與Node.js的完美結(jié)合,生成大量實(shí)時(shí)的輸入數(shù)據(jù),以產(chǎn)生相對(duì)真實(shí)的結(jié)果。

同理,我們不應(yīng)只用少量的輸入去淺嘗輒止,而需要通過大量豐富的輸入數(shù)據(jù)集,來全面檢驗(yàn)Node.js應(yīng)用的各種邏輯與功能。例如,對(duì)于那些將城市名稱作為輸入?yún)?shù)的函數(shù),有效的測(cè)試數(shù)據(jù)應(yīng)當(dāng)是新德里、孟買、倫敦、紐約等,而不是諸如abc、xyz等毫無意義的隨機(jī)值。

14.使用應(yīng)用代碼校驗(yàn)(Lint)

通常,我們將可用于檢查整個(gè)代碼,并針對(duì)任何編程錯(cuò)誤、代碼樣式問題、以及可疑結(jié)構(gòu),發(fā)出警告的工具稱為L(zhǎng)inter或Lint。在針對(duì)Node.js應(yīng)用開展測(cè)試時(shí),我們可以使用linters來捕獲,那些潛藏在程序邏輯之后的代碼結(jié)構(gòu)性錯(cuò)誤,其中包括未聲明的變量分配、未定義的變量使用、以及語法格式錯(cuò)誤等。ESLint(https://eslint.org/)便是此類可與Node.js相集成,并能遵循自動(dòng)化規(guī)范的工具。它可以在修復(fù)各種問題的同時(shí),讓目標(biāo)代碼更加易于閱讀和理解。

15.基于屬性的測(cè)試

此類測(cè)試可用于檢查功能和程序的各項(xiàng)屬性。目前,可用于自動(dòng)執(zhí)行基于屬性的測(cè)試工具包括:fastCheck,Mocha Test Check和QuickCheck。它們的主要優(yōu)勢(shì)在于:

  • 擁有廣泛的輸入類型范圍,可生成大量有效的測(cè)試數(shù)據(jù)和測(cè)試用例集。
  • 通過長(zhǎng)時(shí)間運(yùn)行某個(gè)功能函數(shù)的屬性類輸入,以協(xié)助檢查其閾值。例如,對(duì)于某個(gè)僅接受兩個(gè)參數(shù)輸入的函數(shù)而言,其規(guī)則是其中一個(gè)參數(shù)必須為偶數(shù)值。那么我們?cè)诓捎没趯傩缘臏y(cè)試時(shí),便可以檢查其接受各種奇、偶數(shù)組合輸入后的反應(yīng)。

16.用Chai來斷言

如前所述,斷言有助于我們將實(shí)際結(jié)果與預(yù)期結(jié)果進(jìn)行比較,以判定測(cè)試用例在某些意外錯(cuò)誤、或已知的邏輯流程變更時(shí),是否能到達(dá)預(yù)期的效果。在使用Node.js自動(dòng)化測(cè)試時(shí),Chai庫(kù)就能夠通過預(yù)期斷言和分析結(jié)果,在無需花費(fèi)更多時(shí)間進(jìn)行挖掘的情況下,節(jié)省團(tuán)隊(duì)可用于修復(fù)的資源和精力。下面是Chai斷言的一個(gè)示例:

  1. expect(‘a’).to.not.have.property(‘b’); 

17.測(cè)試異常(Exceptions)

在編寫測(cè)試時(shí),我們自然而然地會(huì)將重點(diǎn)放在那些提供良好代碼覆蓋率的測(cè)試用例和方案上,而忽略了為這些用例添加可驗(yàn)證的各種異常信息,并導(dǎo)致運(yùn)維人員無法跟蹤應(yīng)用拋出的錯(cuò)誤。當(dāng)然,一些大型組織為此會(huì)用到“混沌測(cè)試”。此外,我們還可以采取如下兩個(gè)處置方式:

  • 在出現(xiàn)錯(cuò)誤時(shí),立即終止服務(wù)器的各項(xiàng)功能,轉(zhuǎn)為測(cè)試和評(píng)估服務(wù)的穩(wěn)定性、性能、以及對(duì)于整體系統(tǒng)的影響。
  • 從服務(wù)器端強(qiáng)制傳遞出不同的響應(yīng)代碼,并檢查應(yīng)用程序的行為。

18.測(cè)試金字塔

測(cè)試金字塔是一個(gè)三層結(jié)構(gòu)的三角形。如下圖所示,每一層都定義了不同的測(cè)試階段與方法。我們可以根據(jù)產(chǎn)生的成本和執(zhí)行的速度進(jìn)行分類,其頂點(diǎn)表示成功最高,但最快的測(cè)試。 

金字塔的底層包括了獨(dú)立的基本功能和單元測(cè)試。中間層的集成測(cè)試,可方便用戶以彼此整合的方式,測(cè)試不同的模塊。頂層是前端與用戶界面測(cè)試,我們可以使用諸如LambdaTest等先進(jìn)的自動(dòng)化工具來完成。顯然,單元測(cè)試最慢,而由于模塊級(jí)分布較少,因此前端測(cè)試最快。

19.分別測(cè)試每個(gè)應(yīng)用組件

分別測(cè)試每個(gè)模塊或組件的功能,有時(shí)也被稱為組件測(cè)試。它可以根據(jù)不同的輸入,來驗(yàn)證被測(cè)模塊的響應(yīng)情況。與單元測(cè)試相比,組件測(cè)試具有良好的覆蓋率和更快的速度。在上述金字塔測(cè)試中,我建議您在完成單元測(cè)試后,再使用組件測(cè)試,以獲得更好的結(jié)果,并能發(fā)現(xiàn)更多的未知問題。

20.檢測(cè)基礎(chǔ)架構(gòu)問題

在自動(dòng)化測(cè)試過程中,測(cè)試人員最容易犯的一個(gè)錯(cuò)誤是:只測(cè)試了應(yīng)用程序的功能,以及關(guān)注到了測(cè)試覆蓋率,而忽略了由基礎(chǔ)架構(gòu)所導(dǎo)致的,各種與實(shí)時(shí)負(fù)載和實(shí)際場(chǎng)景相關(guān)的問題。其中,最常見的基礎(chǔ)架構(gòu)問題包括:內(nèi)存過載、服務(wù)器突然關(guān)閉、以及API響應(yīng)延遲等方面。它們都會(huì)顯著地影響到應(yīng)用的正常行為與服務(wù)的提供。

21.并行測(cè)試

通常,我們的傳統(tǒng)測(cè)試流程是:執(zhí)行一個(gè)用例,等待其結(jié)果,對(duì)其進(jìn)行分析,提供反饋意見,執(zhí)行下一個(gè)測(cè)試,周而復(fù)始。開發(fā)團(tuán)隊(duì)需要對(duì)所有測(cè)試的運(yùn)行結(jié)果,逐一予以反饋和解決。顯然,這種串行方式不但增加了團(tuán)隊(duì)成員的工作量,并且可能導(dǎo)致不必要的返工。

而并行測(cè)試則能夠讓團(tuán)隊(duì)同時(shí)執(zhí)行多個(gè)用例。他們既能一次性獲取待分析的報(bào)告,進(jìn)而共享與合并待處理的反饋。對(duì)此,整個(gè)團(tuán)隊(duì)可以使用前文提到的Mocha之類的并行測(cè)試工具,為Node.js的自動(dòng)化測(cè)試大幅減少反饋的層級(jí),并且能夠在更短的時(shí)間內(nèi)協(xié)同解決問題,進(jìn)而為公司節(jié)省了大量的時(shí)間和資源。

22.保持依賴關(guān)系的更新

為了有效地開展測(cè)試,并獲得準(zhǔn)確的結(jié)果,我們需要通過各種手動(dòng)的方式,來保證各種依賴項(xiàng)和庫(kù)的更新,進(jìn)而防止未知錯(cuò)誤的出現(xiàn)。不過,為了避免可能發(fā)生的人為錯(cuò)誤,我們往往可以通過工具,定期檢查是否有最新的版本出現(xiàn),并對(duì)任何依賴項(xiàng)的新版本觸發(fā)自動(dòng)更新。

23.在Selenium Grid上執(zhí)行跨瀏覽器測(cè)試

作為一個(gè)易用的開源類跨瀏覽器測(cè)試工具,Selenium附帶有許多實(shí)用的程序,以滿足不同的測(cè)試需求。為了消除對(duì)瀏覽器數(shù)量的限制,我們可以使用Selenium Grid的云端應(yīng)用,以提供更多的瀏覽器和更多不同的配置。

小結(jié)

總的說來,為了使用Node.js來實(shí)現(xiàn)一套穩(wěn)定、有效的自動(dòng)化測(cè)試框架,您可以有選擇性地參考上述討論的23種優(yōu)秀實(shí)踐,以保證開發(fā)和測(cè)試的質(zhì)量與效果。

原文標(biāo)題:23 Node.js Best Practices For Automation Testing,作者:Rahul Jain

【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】

 

責(zé)任編輯:華軒 來源: 51CTO
相關(guān)推薦

2022-07-14 08:16:24

Node.js后端自動(dòng)化測(cè)試

2022-09-12 16:02:32

測(cè)試企業(yè)工具

2022-01-07 08:00:00

Node.js開發(fā)Web

2021-09-07 09:00:00

開發(fā)測(cè)試工具

2023-08-09 09:08:02

Node.js開源

2021-11-05 09:00:00

Selenium工具自動(dòng)化測(cè)試

2020-05-29 15:33:28

Node.js框架JavaScript

2022-09-12 16:02:32

Docker安全Node.js

2012-10-24 14:56:30

IBMdw

2021-09-03 09:56:18

鴻蒙HarmonyOS應(yīng)用

2021-05-05 11:36:31

Node前端自動(dòng)化熱重載頁面

2020-09-03 07:00:00

Salesforce測(cè)軟件測(cè)試

2025-04-03 08:25:26

2016-08-11 14:02:02

NodeJS前端

2017-02-23 08:30:01

2022-02-22 11:39:13

WebSocketsNode.js開發(fā)

2023-09-01 09:21:03

Python自動(dòng)化測(cè)試

2017-03-22 11:32:17

Node.js單元測(cè)試

2024-07-26 10:13:32

2013-11-01 09:34:56

Node.js技術(shù)
點(diǎn)贊
收藏

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

日本亚洲最大的色成网站www| 久久午夜免费电影| 大香伊人久久| 亚洲女人av| 在线一区欧美| 欧美激情精品久久久久久久变态 | 欧美三级午夜理伦三级在线观看| 欧美精选一区二区| 欧美成人三级在线播放| 麻豆一区二区三| 成人免费网站在线看| 精品视频在线观看免费观看 | 一级成人国产| 国产精品 欧美在线| 草民电影神马电影一区二区| 欧美曰成人黄网| 免费h片在线观看| av动漫一区二区| 亚洲精品高清视频| 亚洲高清二区| 国产精品444| 日韩精品中文字幕吗一区二区| 国产一区二区三区四区五区美女 | 久久亚洲精精品中文字幕早川悠里| 国产中文日韩欧美| 成人国产激情在线| 久久伦理网站| 影音先锋成人在线电影| 国产一区二区三区91| 久久久一区二区| 日本三日本三级少妇三级66| 国产精品国精产品一二| 欧美第一黄色网| 欧美亚韩一区| 欧美亚洲一区二区三区| 91欧美精品成人综合在线观看| 超碰在线caoporen| 国产精品福利一区| 草草草视频在线观看| 91精品国产调教在线观看| 黄色一区三区| 不卡日本视频| 日韩美女在线看| 丝袜美腿综合| 68精品久久久久久欧美| 草莓视频一区二区三区| 欧美激情一区二区三区成人| 九九九九九九精品任你躁| 日韩在线视频导航| 国产不卡精品在线| 久久久久久18| 久久蜜桃av一区精品变态类天堂| 51国产成人精品午夜福中文下载| 加勒比在线日本| 综合激情久久| 51精品国自产在线| 波多野结衣中文字幕一区| 91福利区一区二区三区| αv一区二区三区| 毛片在线视频| 欧美精品一二三| 国产午夜久久av| 国产欧美精品在线| 日韩欧美精品| 蜜桃视频在线观看免费视频网站www| 香蕉影视欧美成人| 浮生影视网在线观看免费| 色狠狠综合天天综合综合| 国产精品视频二区三区| 日韩一区二区三区在线观看| 小视频免费在线观看| 久久亚洲精品视频| 小说区图片区色综合区| y111111国产精品久久婷婷| 久久这里有精品15一区二区三区| 日本特级黄色大片| 国产欧美一区二区三区鸳鸯浴| ga∨成人网| 欧美一级在线观看| 蜜桃精品视频| 不卡视频一区二区| 国产精品亚洲人在线观看| 爱情岛论坛亚洲首页入口章节| 精品久久久在线观看| 国产精品久久看| 麻豆视频久久| 欧美特黄色片| 青青久久av北条麻妃海外网| 日韩精品免费看| 美女网站视频久久| 精品国产一区二区三区性色av | 黄色三级视频在线| 精品久久久久久久久久国产| 国产精品毛片a∨一区二区三区| 国产麻花豆剧传媒精品mv在线| 欧美交a欧美精品喷水| 国产欧美日韩中文字幕| 久久久久久一区二区| 欧美精品成人网| 在线观看一区日韩| 国产精品毛片无码| 久久久影院一区二区三区| 国产亚洲1区2区3区| 久草在线网址| 成年人精品视频| 99综合在线| www成人免费视频| 欧美电影精品一区二区| 免费av一区二区三区四区| 亚洲欧洲日韩精品| 亚洲精品成a人| 九色成人搞黄网站| 91亚洲精品在线| 99视频在线精品| 欧美激情二区| 青青草99啪国产免费| 国内精品免费**视频| 国内精品卡一卡二卡三新区| 国产亚洲一级高清| 亚洲精品一二| 22288色视频在线观看| 国产一区二区久久精品| 一本一道久久综合狠狠老精东影业| 91福利免费| 久久综合国产精品台湾中文娱乐网 | 欧美熟乱15p| 精品久久久久久一区| 亚洲日本韩国一区| 亚洲第一影院| 久久精品成人一区二区三区蜜臀| 亚洲色图第一区| 亚洲精品自拍| 国产精品亚洲天堂| 国产欧美三级电影| 欧美视频第二页| 久久99蜜桃| 99色精品视频| 正在播放欧美一区| 激情综合亚洲精品| 在线看福利影| 国内外成人免费视频| 黄色成人av在线| 亚洲国产欧美日韩在线观看第一区 | 欧美日韩亚洲在线| 一本大道久久精品懂色aⅴ| 欧美精品中文字幕亚洲专区| 国产白丝袜美女久久久久| 亚洲三级免费看| 国产一区欧美二区| 日韩另类在线| 日本电影一区二区三区| 欧美在线观看视频一区二区三区| 日韩欧美视频专区| 污污网站在线| 成人国产精品免费视频| 亚洲一区二区在线免费看| 极品束缚调教一区二区网站 | 国产主播一区二区| 欧美xxxbbb| 亚洲高清视频一区二区| 欧美一二三区在线| 天堂va蜜桃一区二区三区漫画版| 久做在线视频免费观看| 国模精品娜娜一二三区| 欧美日本国产视频| 久久不射2019中文字幕| 欧美videos另类精品| 最近免费观看高清韩国日本大全| 亚洲国产毛片完整版| 寂寞少妇一区二区三区| 色综合久久久| 国产日韩一区二区在线| 老司机午夜免费福利视频| 日韩欧美手机在线| 波多野结衣精品久久| 亚洲一区免费网站| 国产成人av在线| 在线观看成人av| www一区二区三区| 亚洲国产精品久久久久婷婷884| 秋霞在线一区二区| 国产精品免费入口| 中文字幕一二三区在线观看| 国产精品探花在线观看| 另类中文字幕网| 亚洲午夜在线视频| 色婷婷综合激情| 日韩欧美一级二级三级久久久| 3d动漫精品啪啪| 精品久久久久久久久久久久久久久 | 成人污污www网站免费丝瓜| 中文字幕 91| 小小水蜜桃在线观看| 波多结衣在线观看| 亚洲成人精品电影在线观看| 国产在线a不卡| 欧美专区在线视频| 中文字幕国产精品久久| 四虎4545www精品视频| 91超碰在线免费|