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

用Selnium和Python構建自動化Web測試框架

譯文
開發 前端 自動化
本文和您探討了Selenium WebDriver架構的基本概念,四大Python自動化測試框架,以及如何使用Selenium與Python,來構建自動化的Web測試框架。

[[417910]]

【51CTO.com快譯】如今,在不犧牲產品質量的情況下,頻繁地部署大型軟件的新版本,已經成為了主流趨勢。通常,在每次引入新的功能、觸發新的部署時,各種針對缺陷的修復都需要進行深入的、端到端的測試,以確保部署的成功率。雖然對于小型產品或項目而言,我們可以通過手動測試來保證覆蓋率;但是對于那些功能數量龐大的產品或應用來說,我們肯定需要通過自動化測試,在最短的時間內提供最大的測試覆蓋率。此時,我們往往需要通過將Selenium與某種編程語言結合使用,來實現該目的。在本文中,我將和您探討如何使用Selenium與Python,來構建自動化的Web測試框架。

Selenium WebDriver架構速覽

通常,Selenium Web自動化測試框架可結合使用諸如:Java、Python、JavaScript、Ruby、C#等不同的編程語言。其中,根據GitHub的一項調查(https://pypl.github.io/PYPL.html)顯示,Python是開發人員最常用的編程語言。它具有流暢的學習曲線、簡單的語法、以及簡潔的代碼。因此,Selenium可以輕松地與Python相集成,以自動化Web測試的過程。

而作為一種Web框架,Selenium WebDriver能夠在各種受支持的瀏覽器(如:Chrome、Firefox、Safari等)上,自動化各種基于Web的應用程序。因此,Selenium自動化測試框架能夠讓用戶自定義與Web應用的逐步交互,并通過添加斷言,來發現各種錯誤。

Selenium WebDriver并非一個獨立的測試工具,它通過各種組件來滿足Web自動化測試的需要。簡單而言,Selenium WebDriver的后端組件包括:

  • Selenium WebDriver客戶端庫/語言綁定:如上所述,由于Selenium可以與任何語言集成,因此其下載頁面提供了Selenium客戶端與WebDriver語言的綁定。用戶可以在任何首選語言中創建能與Selenium服務器交互的語言腳本。
  • JSON Wire協議:作為Selenium的核心,JSON Wire協議通過提供能與REST API進行數據傳輸的媒介,以促進客戶端代碼和瀏覽器之間的通信。也就是說,它能夠在瀏覽器的二進制文件和客戶端庫之間建立連接。
  • 瀏覽器驅動程序:每個瀏覽器都會通過本瀏覽器的驅動程序,來實現數據傳輸。這些驅動可以從已編寫的、基于Selenium的腳本處接收命令,在相應的瀏覽器上執行之,并以HTTP響應的形式返回結果。當然,這些都需要在JSON Wire協議的幫助下方可實現。
  • 瀏覽器:確保每個自動化測試都能夠被安裝在本地或遠程機器上,并能夠在其支持的瀏覽器中(如:Firefox、Chrome、Microsoft Edge、Safari等)被執行。

四大Python自動化測試框架

隨著需求的增加,目前市場上出現了各種受歡迎程度不同的Python自動化測試框架。這些框架在管理腳本的執行順序、存儲結果、呈現日志、以及添加斷言等方面,都發揮著各自的作用。下面,我們將重點討論四個比較流行的自動化測試框架:

Robot Framework

作為一個開源的自動化測試框架,Robot Framework主要被用于機器人過程自動化(robotic process automation,RPA)和驗收測試驅動開發(acceptance test-driven development,ATDD)等方面。它支持Python 2.7.14及其更高版本。

優點:

  • 它適用于所有類型的應用程序,包括:Web應用程序、移動應用程序、以及桌面應用程序等。
  • 通過采用關鍵字驅動方法 (Keyword Driven Approach,KDA),它允許開發者在無需編程經驗的情況下,以人類可讀的關鍵字創建測試用例。
  • 它支持源自RF v4.0的原生IF/ELSE語法
  • 它提供了專門的社區支持和多種資源。

缺點:

  • 報告的定制過程較為復雜。
  • 雖然該框架的并行測試范圍比較有限,但是可以通過Pabot(一種機器人框架的并行執行器,https://pabot.org/)來實現。

Pytest

作為最常用的Python自動化測試框架之一,Pytest主要被用于單元、功能、以及API等方面的測試。它支持Python 3.5及其更高版本。

優點:

  • 通過提供fixtures,來覆蓋所有的參數組合,而無需重新編寫代碼。
  • 支持包括:pytest-randomly、pytest-cov、pytest-django、以及pytest-bdd在內的多種插件。
  • 支持pytest html插件。開發人員只需一個命令,即可針對自動化測試套件生成html類型的報告。
  • 支持使用pytest-xdist插件并行執行各種測試用例。

缺點:

  • 由于pytest擁有一個單獨編寫測試用例的例程,因此它與其他測試框架的兼容性較差。

PyUnit

作為由Python附帶的默認測試框架,PyUnit受到了許多開發人員的青睞。同時,作為一個單元測試的框架,它主要借鑒了流行的Java測試框架--JUnit。

優點:

  • 由于屬于默認的Python包,因此PyUnit無需額外的安裝與設置。
  • 能夠快速地生成XML和unittest-sml-reporting兩種測試報告。

缺點:

  • 有時會涉及到大量的樣板代碼(boilerplate code)。
  • 由于它是基于JUnit的,因此使用了camelCase命名方式,而非Python snake_case的命名約定。

Behave

作為最流行的Python行為驅動開發(behavior-driven development,BDD)自動化測試框架之一,Behave在功能上與Cucumber框架非常相似。

優點:

  • 它既可以完全支持Gherkin語言,又能夠以可讀性的語言去編寫測試用例,以便于非技術團隊的參與。
  • 它具有針對Django和Flask的集成。

缺點:

  • 它僅適用于黑盒測試。
  • 它不支持并行測試。

使用Selenium和Pytest框架來設置Python

有了前面Selenium WebDriver架構和四大Python測試框架的基礎,下面讓我們開始在Windows上安裝,并運行基于Selenium的自動化測試。

第 1 步: 下載并安裝適用于Windows的Python。當然,如果您的計算機上已安裝了Python,則完全可以跳過此步。

第 2 步: 為了在Python中安裝和管理代碼包,您必須使用Python在本地主機上提前安裝PIP(可以從Python官網處,下載包管理系統)。在完成下載后,您可以使用如下命令進行安裝:

  1. python get-pip.py 

并使用如下命令,來確認PIP是否已被正確安裝:

  1. pip –version 

第 3 步: 為了構建自動化測試套件,我們需要通過執行如下命令,來安裝Pytest庫Pytest:

  1. pip install -U pytest 

并使用如下命令,來確認Pytest是否已被正確安裝: 

  1. pytest –version 

第 4 步: 使用PIP的如下命令,來安裝Selenium框架:

  1. pip install -U selenium 

并使用如下命令,來確認被安裝的selenium的版本:

  1. python -c “import selenium; print(selenium.__version__)” 

第 5 步: 為了保持瀏覽器的獨立性,我們無需專門下載針對某種瀏覽器的驅動程序。相反,我們會使用如下命令來安裝開源庫:WebDriver-Manager,以自動管理不同的瀏覽器驅動:

  1. pip install webdriver-manager 

并使用如下命令,來確認Selenium和Webdriver-manager是否已被正確安裝:

  1. pip list 

至此,我們已經滿足了使用Python去運行基于Selenium的自動化測試的先決條件。下面,讓我們通過編寫腳本,快速地創建如下簡單的測試場景:

1. 直接訪問pCloudy主頁

2. 點擊登錄

3. 獲取頁面標題

4. 斷言登錄頁面的標題

在此,我們使用pytest框架的selenium-python腳本:

  1. import pytest 
  2. from selenium 
  3. import webdriver 
  4. from webdriver_manager.chrome 
  5. import ChromeDriverManager 
  6. import sys 
  7. from selenium.webdriver.chrome.options 
  8. import Options 
  9. from selenium.webdriver.common.keys 
  10. import Keys 
  11. from time 
  12. import sleep  
  13. def pcloudy_sample_test():     driver = webdriver.Chrome(ChromeDriverManager().install())  
  14. driver.get('https://www.pcloudy.com/') driver.maximize_window()  
  15. driver.find_element(By.XPATH, '//*[text()="Login"]').click() sleep(2)  
  16. title = "" Remote Mobile Web & Application Testing on Real Android Devices - pCloudy "" 
  17. assert title == driver.title  
  18. driver.close() 

正如上述代碼所示,我們最初導入了那些自動化測試所需的代碼庫。為了創建函數,我們首先使用WebDriverManager來調用Chrome瀏覽器。WebDriverManager會去檢查最新版本的WebDriver的二進制文件,如果不在目標系統上,則需額外下載。接著,我們會導出Selenium所需的WebDriver環境變量。在啟動瀏覽器后,我們將pCloudy主頁的URL傳遞給瀏覽器,并將瀏覽器最大化,以獲得更好的分辨率。

在使用XPATH定位器加載了pCloudy主頁之后,我們會通過登錄按鈕,定向到登錄頁面上。最后,我們使用主頁的預期檢索標題,去斷言實際的標題。如果斷言通過,那么測試用例會被標記為已通過,否則會被標記為失敗。最終,在執行完畢時,程序會關閉正在運行的會話。

在pCloudy Browser Cloud上運行Pytest框架的跨瀏覽器測試

作為一種可持續測試的云服務,pCloudy提供了跨瀏覽器測試(無論是Windows平臺還是Mac平臺)的功能。其中,Browser Cloud平臺允許用戶訪問那些被托管在云端的遠程主機,并且能夠在Selenium自動化框架中,使用RemoteWebDriver。因此,我們可以在云端,模擬不同的環境(例如:不同的瀏覽器、某個瀏覽器的多個版本、以及不同操作系統),并開展各種自動化測試。

同時,Browser Cloud自動化測試平臺,可以在各種云托管的主機上,對Web應用程序開展手動測試。如果您的自動化測試在某個特定環境中出現了失敗,那么您只需從UI中選擇相同的環境,就可以在pCloudy的相同環境中,手動運行該測試。

下面是基于Pytest框架的Selenium腳本。它將在pCloudy的Browser Cloud上執行跨瀏覽器的測試:

  1. import pytest 
  2. from os 
  3. import environ  
  4. from selenium 
  5. import webdriver 
  6. from selenium.common.exceptions 
  7. import WebDriverException 
  8. from selenium.webdriver.remote.remote_connection 
  9. import RemoteConnection  
  10. @pytest.fixture(scope = 'function'
  11. def driver(): 
  12.     desired_caps = {}  
  13. browser = {    "pCloudy_Username""ramit.dhamija@gmail.com",    "apiKey""5TfF4UcNRbN3JhucQ",    "clientName""ramit.dhamija@gmail.com",    "email""ramit.dhamija@gmail.com",    "os""Mac",    "osVersion""Catalina",    "browserName""safari",    "browserVersions""14",    "pCloudy_EnableVideo""true",    "pCloudy_EnablePerformanceData""true",    "pCloudy_EnableDeviceLogs""true" 
  14. }  
  15. desired_caps.update(browser)  
  16. selenium_endpoint = "https://prod-browsercloud-in.pcloudy.com/seleniumcloud/wd/hub" 
  17.  executor = RemoteConnection(selenium_endpoint, resolve_ip = False) browser = webdriver.Remote(    command_executor = executor,    desired_capabilities = desired_caps ) 
  18. yield browser 

sample_login_test.py的代碼內容為:

  1. import pytest 
  2. import sys  
  3. @pytest.mark.usefixtures('driver'
  4. class TestLink:     def test_title(self, driver):    "" 
  5. " Verify click and title of login page: return :None "" " 
  6. driver.get('https://www.pcloudy.com/') driver.maximize_window()  
  7. driver.find_element(By.XPATH, '//*[text()="Login"]').click() sleep(2)  
  8. title = "" 
  9. Remote Mobile Web & Application Testing on Real Android Devices - pCloudy "" 
  10. assert title == driver.title driver.quit() 

您可以執行如下pytest測試腳本的命令:

  1. pytest -n=2 tests\sample_login_test.py 

其中,-n用于指定并行測試執行的次數。

正如上述代碼所示,在我們的第一個腳本中,我們用到了pytest的fixtures。它們會在每個對應的測試函數之前,事先被運行。在fixtures中定義的范圍——'function'是fixture的默認值,它表示fixture將在每個測試會話中執行一次。

為了能夠在pCloudy瀏覽器的云中運行測試,我們定義了“用戶名+API密鑰”方式的pCloudy身份驗證等函數。此外,在必需的功能中,我們定義了各種運行所需的環境,其中包括Mac操作系統的Catalina版本和Safari-14瀏覽器。

當然,在pCloudy中,被用來捕獲測試視頻記錄、性能數據、以及日志的內置功能,其實并不多。為了能夠在pCloudy Selenium網格上運行測試,我們將Selenium網格的URL定義為selenium_endpoint。被連接的節點主機將會根據所用到的測試環境,進行自動分配。此外,在第一個腳本的末尾,我們會生成一個瀏覽器,用于存儲和更新自動化測試所需的各項功能。

而在下一個腳本中,我們用到了與之前在pCloudy登錄頁面處斷言標題是否相同的Selenium腳本。該自動化測試會在pCloudy Browser Cloud中模擬Mac-Catalina、Safari-14等環境運行。

pCloudy的輸出:

  • 若要查看測試的當前運行狀態,請重定向到pCloudy設備頁面,依次點擊“報告”->“我的活動會話”。
  • 若要查看目前已執行的所有測試,請直接跳轉到pCloudy設備頁面,依次單擊“報告”->“所有報告”。
  • 若要查看特定測試的日志和快照,請直接跳轉到pCloudy設備頁面,依次單擊“報告”->“所有報告”,并對需要日志和截屏的特定會話名稱執行相關的操作。

原文標題:Setting up Modern Web Test Automation Framework with Selenium and Python,作者:Ramit Dhamija

【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】

 

責任編輯:華軒 來源: 51CTO
相關推薦

2011-06-03 17:06:09

自動化測試

2023-09-13 11:40:12

2011-01-20 10:17:25

ibmdwWeb

2012-03-29 10:57:12

Web自動化測試

2017-01-06 10:54:03

AndroidiOSJenkins

2009-08-19 09:00:48

單元測試框架自動化測試

2021-06-26 07:40:21

前端自動化測試Jest

2020-08-03 15:40:57

Web自動化工具測試

2019-04-22 09:00:00

Python框架自動化測試

2017-12-24 21:00:10

自動化測試測試框架敏捷

2012-12-24 22:54:31

2023-05-18 14:01:00

前端自動化測試

2012-09-04 10:20:31

IBMdw

2023-10-12 07:40:54

Minium自動化框架

2020-09-14 07:00:00

測試自動化框架

2020-04-28 09:00:00

測試測試自動化

2019-04-18 09:00:00

Java自動化測試框架

2019-02-20 11:19:52

Python 開發編程語言

2018-05-11 08:29:10

Python自動化測試數據驅動

2018-05-11 13:39:05

PythonCSV接口測試
點贊
收藏

51CTO技術棧公眾號

国产三级欧美三级| 99在线精品免费视频九九视 | 日韩aⅴ视频一区二区三区| 伊人手机在线视频| 欧美日韩国产在线观看网站| 7777精品伊人久久久大香线蕉经典版下载| 香港三级日本三级a视频| 天天躁日日躁狠狠躁喷水| 久久午夜电影| 成年人精品视频| free性中国hd国语露脸| av成人亚洲| 一区二区三区不卡视频| 欧美日本韩国在线| 精品国精品国产自在久不卡| 国产精品一二| 久久精视频免费在线久久完整在线看| 国产黑丝一区二区| 欧美少妇激情| 欧美日韩中文字幕日韩欧美| 国产精品美女在线播放| 亚洲AV第二区国产精品| 韩国欧美一区二区| 欧美诱惑福利视频| 免费毛片在线播放免费| 国产精品一区二区av日韩在线| 91精品福利在线一区二区三区| av网站在线观看不卡| 91在线中字| 久久久久99精品一区| 高清国产在线一区| 一级特黄aaaaaa大片| 中文日韩在线| 欧美高清在线视频观看不卡| 9.1片黄在线观看| 五月国产精品| 精品伦理精品一区| 加勒比av中文字幕| www.成人在线视频| 欧美午夜宅男影院在线观看| 国产又粗又猛又爽又黄的网站| 91在线网址| 久久精品欧美一区二区三区不卡 | 久久亚洲精品小早川怜子66| av手机在线播放| 自拍偷拍欧美一区| 亚洲精品乱码久久久久久按摩观| 色偷偷中文字幕| 亚洲福利影视| 欧美日韩精品是欧美日韩精品| 国产天堂在线播放| 亚洲精品成人图区| 精品国产鲁一鲁一区二区张丽| 欧美亚洲色图视频| 天堂成人av| 亚洲影院在线观看| 国产精品88久久久久久妇女| 黄色av电影在线播放| 国产精品网站一区| 亚洲精品一区二区三区樱花| 日韩在线资源| 亚洲天堂免费看| 精品日韩在线播放| 丝袜综合欧美| 亚洲资源在线观看| 国产在线播放观看| 亚洲福利影院| 在线亚洲一区二区| 五月婷婷六月合| 日韩毛片免费看| 91精品国产综合久久精品图片 | 懂色av一区二区三区蜜臀| 99re在线视频观看| 欧美视频久久久| 91女厕偷拍女厕偷拍高清| 免费影院在线观看一区| 欧美黄色小说| 国产精品久久午夜| 日韩中文在线中文网三级| xxxx日本黄色| 国产精品久久久久久久| 欧美精品在线观看| 全部毛片永久免费看| 日韩福利视频网| 成人福利网站在线观看| www.蜜臀av| 2023国产一二三区日本精品2022| 日韩av一区二区三区在线| 日本中文字幕伦在线观看| 亚洲乱码国产乱码精品精的特点| 蜜臀av色欲a片无码精品一区| 天天射,天天干| 国产亚洲综合av| 午夜久久久久久久久久久| 丰满的护士2在线观看高清| 日韩欧美a级成人黄色| 欧美精品性生活| 91麻豆精品激情在线观看最新 | 国产特黄在线| 亚洲人一二三区| 成年人视频网站免费观看| 激情成人四房播| 亚洲午夜电影网| www.99在线| 大陆精大陆国产国语精品| 亚洲午夜女主播在线直播| 久久久久久久久久网站| 欧美一级一区| 97久久精品午夜一区二区| 久草视频视频在线播放| 亚洲乱码国产乱码精品精98午夜| 黑鬼大战白妞高潮喷白浆| 日韩视频1区| 一区二区三区国产在线观看| 久久精品国产亚洲av香蕉| 三级不卡在线观看| dy888夜精品国产专区| 97视频在线观看网站| 午夜精品一区二区三区电影天堂| 亚洲精品视频三区| 国产伦精品一区二区三区视频 | 亚洲啊v在线| 日韩欧美一二区| 纪美影视在线观看电视版使用方法| 欧美日韩1区| 国产精品久久久久久久久| 色婷婷综合视频| 一区二区三区免费| 一起操在线视频| 欧美日韩国产一区二区三区不卡| 欧美一区二区视频97| 午夜精品久久久久久久第一页按摩| 国产精品丝袜91| 88av.com| 亚洲免费观看高清完整版在线观| 久久久久久久久久国产精品| 99精品久久久久久中文字幕| 国产亚洲欧美在线| 欧洲av无码放荡人妇网站| 欧美人妖视频| 国语自产精品视频在免费| 超碰人人人人人人| 亚洲黄一区二区三区| 在线能看的av网站| 四季av一区二区三区免费观看| 国产精品爱啪在线线免费观看| 欧洲天堂在线观看| 欧美性极品少妇精品网站| 亚洲av网址在线| 亚洲一区二区三区高清| 精品无码久久久久久久动漫| 成人国产电影在线观看| 亚洲成人免费网站| 日本三级网站在线观看| 成人av免费观看| 日韩欧美不卡在线| 西野翔中文久久精品国产| 国产69精品久久久久久| 国产原创av在线| 在线观看不卡视频| 成年人视频软件| 精品在线播放午夜| 青草全福视在线| 中文字幕av一区二区三区四区| 欧美精品在线极品| 少妇高潮久久久| 色综合欧美在线| 国产jjizz一区二区三区视频| 日韩高清电影一区| 中日韩在线视频| 日本成人精品| 97在线免费观看| 久久久久久久久亚洲精品| 色猫猫国产区一区二在线视频| 懂色av粉嫩av浪潮av| 国产一区二区在线观看免费| 日韩视频 中文字幕| 开心激情综合| 国产精品久久久久7777婷婷| 麻豆视频网站在线观看| 欧美电影免费观看完整版| 国产精品第9页| 欧美国产激情二区三区| 中文字幕日韩综合| 国产精品v日韩精品v欧美精品网站| 国产日韩精品一区观看| 天然素人一区二区视频| 欧美成人午夜激情视频| 婷婷开心激情网| 欧美综合在线视频| 国产高潮国产高潮久久久91 | 特级西西www444人体聚色 | 欧美日韩国产一区二区三区| 91精品久久久久久久久久久久| 激情综合五月婷婷| www.av中文字幕| 四季av一区二区凹凸精品| 国产传媒一区| 午夜av成人| 欧美激情欧美激情| a黄色在线观看| 亚洲国产精品久久| 亚洲一卡二卡在线观看| 午夜精品久久久久久久久| www.4hu95.com四虎| 成人精品小蝌蚪| 日韩av在线中文| 夜久久久久久| 青青草免费在线视频观看| 中文字幕精品影院| 国产精品一区二区三区在线| 国产成人免费9x9x人网站视频| 欧美黑人视频一区| 91啦中文在线| 日韩www在线| 国产福利第一页| 欧美日韩在线不卡| 欧美日韩一二三四区| 一区二区三区国产豹纹内裤在线| 亚洲а∨天堂久久精品2021| 成人av在线资源| 一级片免费在线观看视频| 日日夜夜精品视频免费| www..com日韩| 中文字幕日韩一区二区不卡| 天堂va久久久噜噜噜久久va| 久久狠狠久久| www.成人av.com| 成人短视频软件网站大全app| 国产91精品最新在线播放| 超级白嫩亚洲国产第一| 欧美国产精品va在线观看| 日本在线观看免费| 一区二区欧美激情| 国产区在线视频| 亚洲精品一区中文| 人人妻人人澡人人爽久久av| 欧美一区二区三区白人| 国产精品无码久久av| 欧美一a一片一级一片| 青青国产在线视频| 色婷婷综合五月| 中文字幕在线欧美| 色婷婷一区二区三区四区| 久久亚洲精品国产| 欧美三级免费观看| 51国产偷自视频区视频| 黑人巨大精品欧美一区二区一视频| 久久久全国免费视频| 亚洲黄一区二区三区| 久久久久亚洲av无码专区| 亚洲综合免费观看高清完整版在线 | 国产午夜无码视频在线观看 | 国产午夜精品一区二区三区视频| 无套内谢大学处破女www小说| 91在线观看污| 丰满少妇在线观看资源站| 久久久久久久久久久久久女国产乱| 30一40一50老女人毛片| 久久精品一区二区三区不卡 | 亚洲丝袜另类动漫二区| 男人操女人的视频网站| 亚洲精品国久久99热| 久久黄色免费视频| 亚洲成人av在线电影| 国产成人愉拍精品久久| 欧美性videos高清精品| 亚洲精品91天天久久人人| 欧美日韩国产免费| 国产黄色一区二区| 日韩成人黄色av| 国产一二三在线观看| 日韩中文字幕免费看| 国产超级va在线视频| 久久久久久久国产| 欧美美女日韩| 91老司机在线| 国产成人澳门| 久久久久久久久久久一区| 国产欧美日韩免费观看| 尤物一区二区三区| 韩国av一区| 日本在线观看a| 老司机一区二区| 风韵丰满熟妇啪啪区老熟熟女| 91视频在线观看免费| 一级片黄色录像| 夜色激情一区二区| 在线永久看片免费的视频| 在线播放国产精品二区一二区四区| 午夜老司机福利| 日韩国产欧美精品在线| 日韩理伦片在线| 97久久超碰福利国产精品…| 男人天堂久久| 精品国产乱码久久久久久108| 欧美少妇xxxx| 人妻无码久久一区二区三区免费| 人人精品人人爱| 国产精品久久久久久亚洲av| 国产欧美一区二区精品忘忧草| 欧美人妻精品一区二区三区 | 日韩精品视频一区二区在线观看| 精品亚洲成av人在线观看| 黄色网址在线视频| 亚洲天堂成人在线观看| 日韩欧美激情视频| 欧美精品乱码久久久久久按摩| 天堂中文字幕在线| 日韩在线播放视频| 天堂中文av在线资源库| 91网站在线免费观看| 精品成人影院| 国内精品在线观看视频| 国产原创一区二区三区| 人人爽人人爽人人片| 亚洲第一综合色| 97人妻精品一区二区三区视频| 精品香蕉一区二区三区| 黄色在线看片| 亚洲伊人第一页| 久久国产精品成人免费观看的软件| 日韩欧美国产综合在线| 国产精品自在在线| 国产黄a三级三级| 在线亚洲精品福利网址导航| 四虎影视精品成人| 久久久久久网站| 国产精品视频一区二区三区综合| 亚洲性在线观看| 中文字幕一区二区三区四区| 你懂的国产视频| 这里只有精品电影| 国产在线日本| 欧美在线免费观看| 精品无人区一区二区| 高清无码视频直接看| 激情国产一区二区| 欧美乱大交做爰xxxⅹ小说| 色噜噜狠狠成人中文综合 | 日韩欧美123| 国产秀色在线www免费观看| 国产日韩欧美成人| 日韩精品永久网址| 99视频在线视频| 欧美激情一区二区三区蜜桃视频| 免费视频久久久| 亚洲人成啪啪网站| 色婷婷综合久久久中字幕精品久久 | 91蝌蚪porny| 好看的av在线| 日韩精品在线电影| 高潮一区二区| 欧美一卡2卡3卡4卡无卡免费观看水多多| 91久久久久| 欧洲一级黄色片| 日韩欧美成人精品| 成人欧美亚洲| 国产色综合天天综合网| 亚洲精品国产成人影院| 国产91在线免费观看| 亚洲一区二区三区小说| 欧美一级淫片免费视频魅影视频| 韩剧1988免费观看全集| 日韩啪啪网站| 欧美性猛交xxx乱久交| 国产精品视频一区二区三区不卡| 97国产精品久久久| 欧美人与性动交| 国内精品国产成人国产三级粉色| 无码人妻精品一区二区三区在线| 26uuu精品一区二区在线观看| 男人天堂视频在线| 最近2019年中文视频免费在线观看| 四虎永久精品在线| 成人在线免费高清视频| 99精品一区二区三区| 中文人妻av久久人妻18| www国产精品com| 国产精品流白浆在线观看| 国产精品丝袜久久久久久消防器材| 久久精品亚洲精品国产欧美| 一区二区视频网站| 欧美另类老女人| 亚洲综合图色| 国产探花在线看| 亚洲成a天堂v人片| 99青草视频在线播放视| 国产精品亚洲不卡a| 日韩黄色片在线观看| 欧美激情一区二区视频| 日韩国产一区三区| 日本在线一区二区| 人人妻人人添人人爽欧美一区| 国产欧美日本一区二区三区| 精品区在线观看| 国产精品久久久久av免费| 欧美精品97| 亚洲午夜久久久久久久国产| 精品久久久久久久人人人人传媒|