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

Vue.js 測試端到端指南

開發 前端
本文是一份分步指南,涵蓋了 Vue.js 測試基礎知識,并為讀者解釋了如何測試基于 Vue.js 的網站和移動應用程序。
本文是一份分步指南,涵蓋了 Vue.js 測試基礎知識,并為讀者解釋了如何測試基于 Vue.js 的網站和移動應用程序。

“當 Vue 的用戶數量達到一定數量時,它就變成了一個社區。突然間,所有這些人都指望我了:貢獻者、用戶、教育工作者、學生……它變得比我想象的要大。” – 尤文

這是一位開發者對 2014 年發布的 JS 框架的自白,該框架如今已被超過150 萬用戶使用。如果我們考慮一個框架有多新,它在網站開發中就變得很重要。隨著開發人員慢慢接受 Vue,Vue.js 測試的問題在組織中變得更加有趣。

該框架在一個不是很流行的地方,所以每個問題都可以在社區渠道上找到,并且不是新到還處于試驗階段。當我們看到使用 Vue 構建的大型應用程序時,我們知道 Vue.js 測試的相關性只會隨著時間的推移而增加。

所有這些事實使本指南成為拼圖的重要組成部分,最終將指導您向世界發布基于 Vue.js 的 Web 應用程序。

什么是 Vue.js?

Vue.js 是一個用于構建復雜或簡單用戶界面的框架。它于 2014 年發布,如今被近 1% 的網站使用。它是輕量級的,構建在 HTML、CSS 和 JavaScript 等主要 Web 組件之上。

它使用基于組件的模型視圖框架范例,允許將模塊構建為松散耦合和連接的組件。這有助于將復雜的模塊分解為應用程序的其他部分也可以重用的小組件。

Vue.js 表達其基于組件的功能的一個小例子如下:

import { createApp } from 'vue'
createApp({
data() {
return {
counter: 0
}
}
}).mount('#app')
HTML 代碼:
<div id="app">
<button @click="count++">
Count is: {{ count }}
</button>
</div>

在這里,我們通過代碼看到了 HTML 中聲明式渲染的一個重要概念{{count}}。通過聲明式渲染,我們指出了模板渲染部分,我們可以在其中使用聲明性語法或模板語法直接渲染數據,這也是 Jinja 2 模板引擎中的雙括號。這是 Vue 的一個重要屬性,可以在快速開發和最小化代碼方面派上用場。

第二個屬性是反應性,自動對 JavaScript 代碼中的更改做出反應。然后,更改會反映在 DOM 中,而無需編寫任何額外的代碼。然而,這是對反應性的簡要概括,需要詳細討論。由于本指南圍繞測試 Vue 組件展開,讓我們改天再討論。

Vue.js 基于組件的系統概述

基于組件的系統的基本思想是將較大的事物劃分為較小的單元,并孤立地關注每個單元。這有助于分解一個更大的問題,并專注于如果立即采用整個系統可能會遺漏的細節。當我們開發被分成基于組件的樹的簡單 HTML 頁面時,也可以看到這一點:

組件樹

在 Vue 中,我們通過將每個組件保存到其文件中并將其邏輯作為擴展來執行類似的操作.vue。

為了理解 Vue.js 中組件的最小示例,讓我們創建一個小網頁,如下所示:

<div>
<h1> Hi This is Div 1.</h1>
</div>
<div>
<h1> Hi This is Div 2.</h1>
</div>

在 Vue 的app.js文件中,我們將創建一個組件來演示可重用性,如下所示:

Vue.component(<component_name>, object)

在編寫代碼時,將其替換為您要放置的組件的名稱:

Vue.component(‘vcomp’)

我們將放下一個簡單的模板來替換對象:

Vue.component(‘vcomp’, {
template: <h2> Hi this is a Vue Component </h2>”
});

在這里,模板部分采用您希望在屏幕上呈現此組件時顯示的 HTML 模板。

有了這段小代碼,我們的組件就可以在我們一開始編寫的 HTML 頁面中實現了。由于此組件由名稱“ vcomp ”引用,因此讓我們將其插入 div 塊中,如下所示:

<div>
<h1> Hi This is Div 1.</h1>
<vcomp><vcomp>
</div>
<div>
<h1> Hi This is Div 2.</h1>
<vcomp></vcomp>
</div>

Vue 在這里要做的是用 中描述的組件模板替換 vcomp 標簽app.js。結果,我們得到一個小網頁如下:

小網頁

如果我們檢查這個網頁,我們可以檢查 HTML 代碼是否已被 Vue 中提供的模板替換:

模板

一個簡單的問題是代碼已經變得可重用,但不能根據我們的選擇進行定制。在 Web 開發中,您可能有許多具有相同代碼的元素。我們上面的例子可以滿足的需求。然而,我們可以有更多的代碼,它們不相同但相似。例如,“Hi, I am Harish”和“Hi, I am Jack”是兩個相似元素,與“Hi, I am”的相似度為 75%。如果我們能找到一種方法將數據放入此模板中,我們就會擁有一個很好的組件。

這是通過附加到 Vue 組件的數據對象來完成的。現在,我們修改后的視圖為:

Vue.component(‘vcomp’, {
template: <h2> Hi I am </h2>”
});

這表示將保持不變的部分。一個數據對象寫成:

Vue.component(‘vcomp’, {
template: <h2> Hi I am </h2>,
data: function(){}
});

在函數部分,你可以編寫你想要執行的函數。對于我們的示例,您需要返回名稱以將其作為:

Vue.component(‘vcomp’, {
template: <h2> Hi I am {{name}}.</h2>,
data: function(){
return {
name: “Harish”
}
}
});

另外,請注意我們在模板中放置的附加項{{name}},我們希望在返回時放置名稱。

我們需要做的最后一件事是決定何時調用此函數以及如何調用它。雖然有很多方法可以實現這一點,但為了演示,我將把on:click事件附加到一個按鈕上,單擊該按鈕可以調用該函數。

修改后的代碼則變成如下:

Vue.component(‘vcomp’, {
template: <h2> Hi I am {{name}}. <button v-on:click = “changeName”></button></h2>,
data: function(){
return {
name: “Harish”
}
},
methods: {
changeName: function(){
this.name = ‘Ashley’;
}
}
});

這里要注意的兩個修飾元素是“ methods ”和“ button ”。運行這段代碼,你會得到一個按鈕,點擊它的名字“嗨,我是”變成“嗨,我是阿什利”。

單元測試:概述

單元測試是測試軟件的支柱之一,另一個是集成測試和端到端測試。通常,軟件測試從單元測試開始,尤其是當 TDD 作為一種開發方法得到促進時。

單元測試將軟件分解成更小的單元,因此更容易關注更小的部分及其細節,調試也變得容易得多。這個定義可能看起來類似于我們在上面的組件定義中討論的內容。

實際上,它們都有相似的根源,但它們所服務的目標卻不同。由于組件在 Vue 應用程序中也是較小的單元,因此測試人員執行單元測試的工作變得容易得多,并且針對特定區域。因此,Vue 組件中的單元測試是 Vue 測試人員之間的熱門話題。

請注意,這不應與“測試組件”混淆,因為單元測試適用于基于 Vue 的應用程序。單元測試仍然意味著測試預期輸出的功能或類,但只針對應用程序的一小部分。

當我們開始只測試 Vue 應用程序的組件時,例如它如何掛載或呈現,我們稱之為 Vue 中的組件測試。但是,這并不意味著單元測試不涵蓋“僅”組件。在某些情況下,它可能會,而在少數情況下,它可能不會。

如何開始在 Vue.js 中進行單元測試

在 Vue.js 測試指南的這一部分,我們將在 Vue 中進行單元測試,這與 Web 應用程序中的單元測試不同。在這里,我們將只關注如何對使用 Vue 編寫的應用程序的部分進行單元測試。

考慮到基于 Vue 的功能是如何工作的,我們的目標是對兩種類型的功能進行單元測試。

  • 可組合物
  • 成分

因此,我們可以將這一節分為兩個邏輯部分。

如何在 Vue Composables 中執行單元測試

可組合項的概念隨著 Vue 的第 3 版發布而引入,旨在消除導致復雜組件和混合的所有 Vue 2 弱點。Vue 可組合是指那些使用 Vue 的組合 API 的函數。此 API 是針對隨著時間的推移變得太大且難以維護的組件的解決方案。

例如,假設我們有一個組件可以通過搜索列出某些產品。稍后,我們需要通過應用某些過濾器來在此搜索中提供更多功能。幾天后,我們可能會添加另一個搜索功能。做所有這些,我們可能會制造一個非常大和復雜的組件,它會變得非常難以維護。

相反,我們可以使用組合 API,它們是從這些組件調用的可重用函數,并消除了大選項和數據。在此示例中,我們可以創建search()、sort()、filter()、advanceFilter()等,并在主組件需要時調用。

可組合項可以依賴于以下三個 API 中的任何一個:

  • 生命周期
  • 注入
  • 反應性

在這三者中,如果使用反應性如下:

  • import { createApp } from 'vue'
  • createApp({
  • data() {
  • return {
  • counter: 0
  • }
  • }
  • }).mount('#app')

這可以通過直接匹配預期結果和實際結果來測試,也稱為測試中的斷言。然而,如果使用 lifehooks 和 inject,測試人員需要將這些元素“包裝在主機組件內”,解釋這可能會使我們偏離實際的單元測試部分。

如何在 Vue 組件中執行單元測試

Vue 組件中的單元測試旨在測試應用程序中組件提供的功能。雖然他們應該以組件為目標,但他們應該只關注與這些組件相關的功能和事件,而不是深入研究代碼的正確性。

在 Vue.js 中執行單元測試時需要注意的重要一點是,不應斷言組件實例的私有狀態,因為它可能會因任何實現更改而中斷。單元測試的主要重點應該是驗證某個功能或事件或交互的輸出。

Vue.js 組件的單元測試工具

雖然有很多工具和插件可用于對 Vue.js 組件進行單元測試,但 Vue 官網僅推薦兩個工具:

  • 齒輪

Vitest 是基于節點的工具,而 Cypress 是基于瀏覽器的工具。基于節點的工具可能不如基于瀏覽器的工具高效;因此,在這種情況下,Cypress 可能是首選。但是,它會產生一定的成本。由于 Vitest 是一種無頭工具并且是基于節點的,因此它可以比 Cypress 更快地執行測試。

正如 Vue 所說,“Cypress 可能比 Vitest 慢幾個數量級”, 這可能是一個值得關注的問題。因此,測試人員在使用 Vue.js 進行單元測試時必須謹慎工作。

要將 Vitest 添加到您的項目中,您可以直接使用 npm 包管理器將其添加到一個命令中:

npm install -D vitest happy-dom @testing-library/vue

在此之后,我們需要更新 Vite 配置以添加測試選項塊:

import { defineConfig } from 'vite'
export default defineConfig({
test: {
}
})

完成后,我們可以將測試寫入一個名稱以*.test.js. 該文件可以放在項目根文件夾中的測試目錄中。您還可以將此文件放在源文件旁邊的測試目錄中。

現在測試用例已經寫好了,只需添加測試腳本如下package.json:

{
// ...
"scripts": {
"test": "vitest"
}
}

現在使用一個簡單的 npm 命令運行這些測試:

npm test

安裝庫

掛載庫必須掛載組件,以便可以模擬用戶事件,并且可以使用類似用戶的操作調用單元測試。這些庫由 Vue 提供,推薦用于 Vue 組件的單元測試。

@testing-library/vue
@vue/test-utils

在這兩者中,@vue/test-utils是一個低級庫,@testing-library/vue建立在它之上。因此,從這個事實可以明顯看出,@vue/test-utils深入研究 Vue API 的實現細節,同時@testing-library/vue遠離它,只關注最終用戶如何使用軟件。對于測試人員來說,這完全取決于他們根據情況選擇更喜歡哪一個。然而,兩者的混合搭配可以產生最好的結果。

如何在 Vue.js 中運行單元測試

Vue.js 中的單元測試可以使用 Vue Test Utils 庫運行,這是 Vue.js 的官方單元測試庫。它可以與 Jest、Mocha 和 Karma 等測試運行器一起使用,也可以在沒有帶有 jsdom 的測試運行器的情況下使用。Vue.js 推薦使用 Jest 進行單元測試;因此,我們將在這里遵循相同的模式。

要使用 jest 安裝 Vue 測試工具,請運行以下兩個命令。

安裝cli-plugin-unit-jest運行 Jest 測試:

vue add unit-jest

安裝 Vue 測試工具:

$ npm install --save-dev @vue/test-utils

現在,我們可以對我們開始 Vue.js 測試指南的初始代碼做一個簡單的小測試:

template: `
<div>
<button @click="count++">Add up</button>
<p>Clicks: {{ counter }}</p>
</div>
`,
data() {
return { counter: 0 }
}
}

現在,我們首先需要定位此按鈕并返回一個包裝器以繼續下一步。這是通過以下代碼實現的:

const button = wrapper.find('button')

現在,找到p這個按鈕內的標簽:

const countertext = wrapper.find('p')

然后,我們需要提供一些異步行為來等待點擊發生,這可以引導我們觸發我們的代碼:

expect(text.text()).toContain('Clicks: 0')
await button.trigger('click')
expect(text.text()).toContain('Clicks: 1')

在這里,正如我們提到的,使用了異步行為,這是 Vue 中一個很深的話題。希望了解更多信息的人可以參考 Vue.js 文檔中關于異步行為的官方頁面。運行上面的測試暴露了按鈕的功能和包含它的模塊。

在執行 Vue.js 測試時,許多組織在為 Windows、macOS、Android 和 iOS 等多個平臺構建 Web 和移動應用程序時面臨嚴峻挑戰。開發人員和 QA 團隊面臨著創建內部測試基礎架構以覆蓋所有瀏覽器、設備和操作系統的主要挑戰,這是一種乏味且昂貴的方法。您仍然需要持續管理操作系統更新,這是非常不切實際的。

然而,基于云的測試平臺使這變得容易。

Vue 中的 Mount 與 ShallowMount

在通過 vue test utils 在 Vue 中執行單元測試時,你會經常遇到mount()和shallowMount()在示例中或閱讀其他人的單元測試代碼。測試人員將使用這兩種方法在 Vue 中創建單元測試。

Vue 中的函數mount()將 Vue 組件作為參數并返回該組件的包裝器。使用這個實例包裝器,測試人員可以與組件交互,因為它會捕獲 DOM 并為您呈現它。

該shallowMount()函數的工作方式也類似,有助于與傳遞的組件進行交互。它們之間唯一的區別是shallowMount()不渲染子組件。而mount()將渲染傳遞的組件及其所有子組件。

因此,它們在不同的場景和用例中都是首選。最重要的是,當您需要隔離測試任何組件并需要測試更改對孩子的影響時,shallowMount就要使用它。否則,如果涉及兒童,那么你應該去mount()。這將使您的單元測試用例保持獨立,并清楚地說明它們的目標。

結論

Vue 是一個框架,在網站開發的用戶界面市場中出現了顯著增長。憑借其類似于 React 的基于組件的機制,Vue 試圖將繁重的模塊分解為更小的組件,這些組件不僅有助于開發,也有助于測試。

本 Vue.js 測試指南討論了網站的測試部分,該網站包含基于 Vue 的元素,特別側重于單元測試。Vue 有豐富的 API 集合,有助于組件的單元測試,本指南中討論了一個演示。

對于 Web 開發人員和測試人員,我希望本指南能為您的下一個單元測試項目提供很好的參考。對于任何反饋和建議,請在評論部分或通過電子郵件告訴我們。感謝您花寶貴的時間給這篇文章。

責任編輯:華軒 來源: 今日頭條
相關推薦

2021-06-30 09:00:00

測試Web軟件

2025-03-20 07:01:40

2025-03-28 07:50:00

端到端測試Go語言

2009-03-17 09:56:00

802.11n測試無線網絡

2016-11-14 17:36:57

Angular 2應用程序端對端

2024-02-19 16:06:53

人工智能AI聲音克隆Python

2025-01-16 10:11:58

2022-12-01 17:13:44

2017-11-22 15:13:20

集成測試自動化測試契約測試

2020-11-24 19:37:43

GoogleAndroid加密

2023-02-27 17:54:55

2018-04-04 10:32:13

前端JavascriptVue.js

2017-07-04 17:55:37

Vue.js插件開發

2016-11-04 19:58:39

vue.js

2022-09-02 10:20:44

網絡切片網絡5G

2020-10-26 13:51:11

Kafka數據端到端

2021-05-27 14:23:50

加密端到端加密加密技術

2024-02-21 09:14:32

端到端自動駕駛

2022-01-19 22:18:56

Vue.jsVue SPA開發

2018-09-03 09:00:00

前端ReactVue.js
點贊
收藏

51CTO技術棧公眾號

国产成人亚洲综合a∨婷婷图片| 99久久夜色精品国产亚洲1000部| 日韩欧美在线视频日韩欧美在线视频 | 欧美日韩国产综合久久| 波多野结衣三级在线| www.污视频| 日韩电影在线观看电影| 欧美高清激情视频| 国产真人做爰视频免费| 视频一区在线| 欧美系列在线观看| 野外做受又硬又粗又大视频√| 免费黄网站在线观看| 国产九色精品成人porny| 欧美诱惑福利视频| 欧美日韩人妻精品一区二区三区| 国产精品嫩草影院在线看| 91麻豆精品国产自产在线| 一本大道熟女人妻中文字幕在线| 成人欧美在线| 国产日本欧洲亚洲| 国产一区二区三区高清视频| 91亚洲国产成人久久精品麻豆| 国产午夜精品一区二区三区欧美| 欧美成人免费观看| 538精品视频| 国产精品日韩精品中文字幕| 亚洲国产小视频在线观看| 欧洲美女亚洲激情| 色猫猫成人app| 色综合天天性综合| 久久久亚洲精品无码| dj大片免费在线观看| 中日韩免费视频中文字幕| 精品在线一区| 深夜福利视频网站| 国产suv精品一区二区三区| 国产综合久久久久| 一级黄色片在线| 日本大胆欧美人术艺术动态| 日韩av免费在线观看| 日韩精品无码一区二区| 欧美日韩综合| 欧美激情免费视频| 日本三级午夜理伦三级三| 亚洲综合婷婷| 欧美日韩第一页| 精国产品一区二区三区a片| 欧美日韩激情在线一区二区三区| 亚洲欧美日韩第一区| 91精品国产自产| 伊人久久大香线蕉| 亚洲女人天堂av| 亚洲AV无码国产成人久久| 亚洲系列另类av| 亚洲人成网7777777国产| 黄色在线观看av| 在线视频亚洲专区| 影音先锋日韩有码| 天堂网中文在线观看| 欧美h版在线| 久久精品99久久香蕉国产色戒| 久久精品一区二区三区四区五区| 我不卡神马影院| 欧美日韩国产成人| 日本少妇全体裸体洗澡| 亚洲最黄网站| 国产精品观看在线亚洲人成网| 中文字幕第三页| 精品一二三四区| 91精品国产91久久久久青草| 人妻精品一区二区三区| 91麻豆蜜桃一区二区三区| 日韩高清dvd| 里番在线观看网站| 亚洲精品国产高清久久伦理二区| 僵尸世界大战2 在线播放| 中文字幕高清在线播放| 欧美色图免费看| 久久发布国产伦子伦精品| 理论片一区二区在线| 亚洲人成网站免费播放| 日韩欧美123区| 亚洲成人原创| 国产精品欧美日韩| 丰满人妻一区二区三区四区53| 97久久超碰国产精品电影| 日本视频一区在线观看| www.久久ai| 懂色av一区二区三区| 奇米视频7777| 欧美激情极品| 精品国产拍在线观看| 日本系列第一页| 老汉av免费一区二区三区 | 精品黑人一区二区三区在线观看| av在线不卡网| 久久久一二三四| 乱馆动漫1~6集在线观看| 欧美嫩在线观看| 黄色免费视频网站| 午夜影院欧美| 日韩69视频在线观看| 99热这里只有精品5| 久久久国际精品| 国产又粗又猛又爽又黄的网站 | 色香色香欲天天天影视综合网| 17c国产在线| 亚洲精品推荐| 欧美大片第1页| 亚洲无码精品在线观看| 成人av中文字幕| 中文精品一区二区三区| 日韩电影大全网站| 亚洲国产成人精品电影| 99鲁鲁精品一区二区三区| 中国女人久久久| av成人综合网| 黄在线免费观看| 欧美亚洲高清一区| 国产制服丝袜在线| 亚洲经典自拍| 国产91视觉| 51xtv成人影院| 欧美日本在线视频| 人妻aⅴ无码一区二区三区| 18成人免费观看视频| 96国产粉嫩美女| 黄网站视频在线观看| 欧美日韩精品一区二区| 亚洲久久久久久久| 久久精品主播| 蜜桃麻豆www久久国产精品| а√天堂中文在线资源8| 欧美成人女星排名| 欧美黄色免费在线观看| 国产一区二区在线看| 亚洲视频在线二区| 日本成人在线网站| 日韩在线观看网址| 一级黄色免费看| 亚洲视频免费看| 九九九九九伊人| 91精品综合| 亚洲a中文字幕| 成人日韩欧美| 日韩免费视频一区| 麻豆疯狂做受xxxx高潮视频| 国产一区二区在线观看免费| 亚洲自拍偷拍一区二区三区| 国产精品久久免费视频| 不卡中文字幕av| 国产露脸无套对白在线播放| 亚洲欧美综合色| 99re6在线观看| 影视一区二区| 国产精品免费在线播放| 成人免费图片免费观看| 亚洲精品mp4| 一级一片免费看| 国产亚洲一区二区三区四区| 亚洲激情在线观看视频| 91精品国产91久久久久久黑人| 91亚洲精品在线| av资源网在线播放| 亚洲精品在线不卡| 怡红院成永久免费人全部视频| **性色生活片久久毛片| 欧美性猛交乱大交| 一区二区国产精品| 日韩一区二区电影在线观看| 国产精品99| 欧美高清激情视频| 男生女生差差差的视频在线观看| 在线视频一区二区三| 在线免费看av网站| 99国产精品国产精品毛片| 又色又爽又高潮免费视频国产| 久久福利综合| 99热在线国产| gogo亚洲高清大胆美女人体| 色诱女教师一区二区三区| 99热这里只有精品9| 欧美视频13p| 国产尤物在线播放| 91蜜桃视频在线| xxxx在线免费观看| 国产欧美日韩一区二区三区在线| 亚洲电影免费| 狠狠一区二区三区| 国产精品中文字幕在线观看| 国产美女情趣调教h一区二区| 亚洲欧美日韩中文在线制服| 国产农村妇女毛片精品| 日韩欧美999| 国产a免费视频| 国产日产精品1区| 9.1在线观看免费| 蜜臂av日日欢夜夜爽一区| 成人在线播放网址| 婷婷激情图片久久| 免费国产一区| 一区二区视频| 国产欧美在线播放| 亚洲精品**中文毛片| 欧美精品做受xxx性少妇| 国产大片在线免费观看| 精品久久一区二区| 国产免费不卡av| 欧美艳星brazzers| 日本视频在线观看免费| 一区二区久久久久久| 欧美另类69xxxx| 久久综合九色综合欧美亚洲| 久久久国产精品久久久| 日本不卡视频在线| 妺妺窝人体色www在线小说| 中文字幕一区二区三区欧美日韩| 日韩精品久久久| 婷婷综合电影| 国产伦精品一区二区三区照片| 99精品国产九九国产精品| 国产精品国模在线| 欧美magnet| 欧洲s码亚洲m码精品一区| 国产拍在线视频| 欧美高跟鞋交xxxxxhd| 亚洲性图自拍| 欧美成人合集magnet| 在线观看麻豆| 色综久久综合桃花网| 丁香婷婷在线观看| 亚洲最新av在线| 国产日韩精品在线看| 日韩精品视频在线| 日韩a在线观看| 日韩精品中文在线观看| 亚州av在线播放| 亚洲国产欧美自拍| 天堂av资源网| 亚洲国产免费av| 天天干视频在线| 亚洲精品国产精品国自产观看浪潮| 免费av网站在线播放| 精品国产伦一区二区三区观看方式 | 婷婷久久综合网| 日韩一区在线免费观看| 一区二区国产精品精华液| 中文字幕在线观看不卡视频| 国产探花在线视频| 亚洲日本电影在线| 久久久国产精华液| 亚瑟在线精品视频| 亚洲第一在线播放| 色婷婷综合久久| 国产亚洲久一区二区| 欧美日韩一区二区三区在线 | 国产精品久久久久av电视剧| 国产精品国产三级国产aⅴ浪潮 | 欧美人与性禽动交精品| 国产欧美高清视频在线| 亚洲精品自在在线观看| 久久精品欧美一区| 国产一线二线三线女| 中国女人久久久| 鲁一鲁一鲁一鲁一av| 国产一区二区三区综合| 午夜不卡久久精品无码免费| 91欧美一区二区| 国精产品久拍自产在线网站| 亚洲精品成a人| 天堂а√在线中文在线新版| 欧美系列在线观看| 性欧美videos另类hd| 亚洲精品国精品久久99热| 成人在线免费公开观看视频| 精品国产欧美一区二区五十路| 久草在线视频资源| 国产精品久久久久久亚洲调教 | 久久riav| 久久一区二区中文字幕| 国产乱子伦精品无码专区| 久久久精品午夜少妇| 制服丝袜中文字幕第一页 | 国产白浆在线免费观看| 国产精品久久久久77777| 日韩中文字幕| 日本成人看片网址| 影音先锋日韩精品| 免费激情视频在线观看| 国产精品亚洲一区二区三区在线 | 亚洲第一天堂网| 亚洲网站在线看| 里番在线播放| 国产精品一区二区三区毛片淫片| 一区二区三区视频免费视频观看网站| 欧美日韩高清在线一区| 欧美精品aa| 亚洲视频一二三四| 久久婷婷色综合| 久草免费在线观看视频| 欧美日韩在线播放三区| 日韩在线观看视频网站| 久久精品91久久香蕉加勒比| av资源亚洲| 精品国产乱码久久久久久蜜柚| 91亚洲国产成人久久精品| 国产美女无遮挡网站| 国产乱人伦偷精品视频免下载 | 国产欧亚日韩视频| 伊人春色之综合网| 国产一区二区视频播放| 国产盗摄一区二区三区| 色偷偷男人天堂| 91黄视频在线| 四虎成人免费在线| 久久人人爽人人| 日韩第一区第二区| 影音先锋欧美资源| 青青草97国产精品免费观看无弹窗版| 韩国无码一区二区三区精品| 亚洲在线免费播放| 99精品视频免费看| 久久成人一区二区| 婷婷精品久久久久久久久久不卡| 水蜜桃亚洲精品| 日韩专区欧美专区| 一区二区精品免费| 欧美日韩亚洲系列| 天堂av电影在线观看| 久久久久女教师免费一区| 欧美高清hd| 黄色一级大片免费| 国产一区二区导航在线播放| 天天操天天摸天天舔| 欧美羞羞免费网站| h视频网站在线观看| 国产成人精品av在线| 久久91麻豆精品一区| aⅴ在线免费观看| 久久久久国产一区二区三区四区 | 国产一区二区三区黄视频 | 国内精品久久久久久久97牛牛| 91av免费观看| 亚洲第一在线综合网站| 韩国av在线免费观看| 久久久久亚洲精品国产 | 日本一区二区三区四区高清视频 | 欧美中文字幕不卡| 91社区在线| 成人午夜小视频| 欧美成人国产| 国产午夜在线一区二区三区| 亚洲韩国一区二区三区| 天天综合网在线观看| 欧美最顶级的aⅴ艳星| 欧美中文字幕一区二区| 成人免费观看毛片| 国产精品成人免费精品自在线观看| 亚洲午夜激情视频| 欧美巨大黑人极品精男| 国产成人夜色高潮福利影视| 国产青青在线视频| 国产无一区二区| 91国内精品久久久| 欧美寡妇偷汉性猛交| 日韩mv欧美mv国产网站| 国产视频在线视频| 亚洲精品视频在线观看免费 | 亚洲欧美日本国产| 人妻少妇精品无码专区二区| 久久噜噜亚洲综合| 一级黄色片在线观看| 欧美激情一区二区久久久| 欧美sss在线视频| 91日韩视频在线观看| 亚洲另类在线一区| 水莓100在线视频| 国产欧美一区二区白浆黑人| 欧美午夜电影在线观看| 亚洲色成人网站www永久四虎| 9191久久久久久久久久久| av岛国在线| 一区二区免费在线观看| 丁香六月久久综合狠狠色| 久久久蜜桃一区二区| 久久99精品视频一区97| 国产精品一线天粉嫩av| 日本特黄在线观看| 在线免费观看视频一区| 欧洲精品二区| 日韩午夜视频在线观看| 波多野结衣中文字幕一区| 中文字幕在线观看视频一区| 久久免费精品日本久久中文字幕| 成人一二三区| 国产人妻人伦精品1国产丝袜| 欧美精品v国产精品v日韩精品| 国产白浆在线免费观看| 裸体大乳女做爰69|