《電子技術應用》
您所在的位置:首頁 > 測試測量 > 設計應用 > HTTP接口自動化測試方法研究
HTTP接口自動化測試方法研究
2016年微型機與應用第18期
楊清玉,李金麗,陳吉蘭,李志偉
中標軟件有限公司 操作系統測試認證中心,北京 100190
摘要: 研究了HTTP接口自動化測試方法,采用Python語言開發代碼,使用Request調用HTTP接口。提出了一種分層結構的自動化測試框架,將接口調用、測試用例和測試數據的代碼分層開發,生成基于HTML的測試報告。提出了兩種解決CSRF Token驗證問題的方案。該方法開發出的自動化測試腳本具有結構清晰、易維護等優點,能夠有效提高測試效率,降低測試成本。
Abstract:
Key words :

  楊清玉,李金麗,陳吉蘭,李志偉

 ?。ㄖ袠塑浖邢薰?操作系統測試認證中心,北京 100190)

       摘要:研究了HTTP接口自動化測試方法,采用Python語言開發代碼,使用Request調用HTTP接口。提出了一種分層結構的自動化測試框架,將接口調用、測試用例和測試數據的代碼分層開發,生成基于HTML的測試報告。提出了兩種解決CSRF Token驗證問題的方案。該方法開發出的自動化測試腳本具有結構清晰、易維護等優點,能夠有效提高測試效率,降低測試成本。

  關鍵詞:HTTP接口;Python;Request;自動化測試

0引言

 Web業務日趨復雜,系統愈加龐大,版本的發布周期變短,使得Web產品測試的難度極大地提高,工作量也大幅增加[1]。Web產品的測試中非技術性、重復性的測試工作占總的測試工作量比例比較大,因而需要大量的資源來保障Web產品的質量[2 3]。在開發Web產品時,開發過程中一般采用了分層的軟件體系結構,Web頁面通過HTTP協議向接口發送請求,后端處理請求返回結果。由于業務邏輯比較復雜,有著大量的接口,如果使用自動化測試代替手工測試,可以有效提高測試效率,降低測試成本。

1HTTP協議

  超文本傳輸協議(Hyper Text Transfer Protocol, HTTP)是互聯網上應用最為廣泛的一種網絡協議。HTTP是基于請求和響應模式的無狀態應用層協議。其客戶/服務器模式的信息交換過程如圖1所示。信息交換過程分四個部分:建立連接、發送請求信息、發送響應信息和關閉連接[4]。

圖像 001.png

  絕大多數的Web開發都是構建在HTTP協議之上的Web應用。本文所進行的自動化測試的對象為中標軟件有限公司的微云操作系統產品,該產品的Web接口為HTTP協議的接口。針對該接口的自動化測試,筆者采用Python語言進行代碼的開發,使用Request進行HTTP接口的調用。使用Eclipse并安裝PyDev插件作為集成開發環境,在自動化測試框架下開發自動化測試代碼。

2Python和Request

  Python是一個通用目的的編程語言,已經有很多年的發展歷程。這個穩定而成熟的語言是非常高層的、動態的、面向對象的和跨平臺的。Python可以在所有主流的硬件平臺和操作系統上運行。它繼承了傳統編譯語言的強大性和通用性,同時也借鑒了簡單腳本和解釋語言的易用性,語法簡捷清晰、可讀性強、便于維護,并且具有一致性和規律性、豐富的標準庫,以及許多可以很容易在Python中使用的第三方模塊。Python還可以被當做最適合入門程序員掌握的優秀語言,因為它免費、面向對象、擴展性強,同時執行嚴格的編碼標準[5]。

  Request對象的作用是與客戶端交互,收集客戶端的Form、Cookies、超鏈接,或者收集服務器端的環境變量。Request對象是從客戶端向服務器發出請求,包括用戶提交的信息以及客戶端的一些信息??蛻舳丝赏ㄟ^HTML表單或在網頁地址后面提供參數的方法提交數據,然后通過Request對象的相關方法來獲取這些數據。Request的各種方法主要用來處理客戶端瀏覽器提交的請求中的各項參數和選項。

3自動化測試框架介紹

  3.1自動化測試框架設計思想

  本文設計的自動化測試框架采用分層結構,依據模塊化、可復用、低冗余等原則,將代碼根據不同的功能分為若干個獨立的模塊,這里將一類模塊稱為一層。每一層都完成自己特定的任務,各層之間根據需要去進行調用。分層思想最先是在軟件開發過程中提出來的。當代碼量小的時候,采用這種模式會增加工作量;但是當代碼量變大時,采用這種模式可以使設計思路清晰,代碼冗余度變低,可擴展性更好,代碼維護更加方便,程序運行效率更高。

  3.2自動化測試框架實現

  自動化測試框架是由一個或多個自動化測試基礎模塊、自動化測試管理模塊、自動化測試統計模塊等組成的工具集合。本文的自動化測試框架如圖2所示,分為測試環境配置層、接口操作層、測試數據層、測試用例層、測試用例管理層等。每一層都實現自己特定的功能,并提供接口給其他層調用。

圖像 002.png

  Config層:測試環境配置層,存儲測試環境相關設置參數。比如待測環境的IP、主機名、登錄用戶名、密碼等。

  TestAPI層:接口操作層,對HTTP接口的調用進行封裝。比如獲取列表信息、添加、刪除、修改等。

  TestData層:測試數據層,用于管理測試用例所需要用到的測試數據。Data文件的名稱需要與對應的Test Case名稱一致,以便數據解析。

  TestCase層:測試用例層,每一個TestCase類均采用單元測試框架來構造,即每一個TestCase均繼承于unittest.testcase類。在實際的設計中,通過繼承unittest.testcase類,重寫并加入一些方法,從而形成了一個名為BaseTestCase的父類,全部的TestCase的類均繼承自這個父類。

  TestSuite層:測試用例管理,包括測試用例執行的級別、每種測試級別對應的測試用例集以及日志記錄級別。

  HTMLTestRunner層:測試報告管理模塊,用于生成測試報告,這個報告是基于HTML的,方便瀏覽和統計。

  TestCenter層:測試管理層,是整個測試程序的入口。它實現了解析并找出需要執行的測試用例,執行測試用例腳本,并生成測試結果。

4測試代碼開發

  在具體的測試代碼開發過程中,主要編寫TestAPI層、TestCase層和TestData層的代碼。下面詳細介紹這三層代碼開發的模式。

  4.1TestAPI層

  這一層主要進行HTTP接口的調用。為了實現對接口的調用,首先,需要從項目組獲取圖3所示的接口說明。如果項目組沒有完整的接口說明文檔,可以結合firebug獲取。需要在Firefox瀏覽器中安裝firebug插件,啟用插件后,在瀏覽器上所進行的操作會被記錄下來。

圖像 003.png

  然后,編寫代碼調用HTTP接口。下面以添加用戶的HTTP接口調用代碼為例進行說明。

  def addWebUser(self, data):

  url=self.base_url+"Web_users/"

  data=json.dumps(data)

  r=requests.post(url=url,data=data,

  headers=self.headers, verify=self.verify)

  return {'status_code':r.status_code,

  'result':json.loads(r.text)}

  由于實際測項目中HTTP接口接收的參數格式和返回的信息是json格式,因此需要導入json模塊,并在調用接口前,使用json.dumps將參數轉換成json格式,對返回信息使用json.loads轉換成字典格式,以便后續使用。

  4.2TestCase層

  TestCase層用于存放編寫的測試用例,調用TestAPI層的方法??梢詫estCase層與實際的測試用例對應起來。當接口發生變化時,只需修改TestAPI中的代碼,而基本不需要修改或者只需要對TestCase層代碼進行很少量的修改。每一個測試用例用一個類表示,且均繼承自同一個父類BaseTestCase;而BaseTestCase則繼承自unittest.testcase類,所以,TestCase類均具有unittest.testcase類的屬性。在BaseTestCase類中定義了每個測試用例開始執行和結束時的動作以及一些case中用到的公共方法。

  TestCase類的代碼包含四個部分:數據和實例初始化、測試環境準備、實際測試代碼、資源回收。代碼結構如下。

  class ITC_EditUser_LegalName(BaseTestCase):

  ′′′

  @summary:編輯用戶-用戶名合法

  ′′′

  def setUp(self):

  #第一部分——數據和實例初始化

  #調用父類方法,獲取該用例所對應的測試數據模塊

  self.user=super(self.__class__, self).setUp()

  self.user_api=UserAPIs()

  self.flag = True

  # 第二部分——測試環境準備

  #添加用戶

  self.user_api.addUser(self.user.add_user)

  def test_EditUser_LegalName(self):

  #第三部分——實際測試代碼

  #編輯用戶

  def tearDown(self):

  #第四部分——用例執行結束后的資源回收

  #刪除用戶

  self.user_api.deleteUser(data)

  4.3TestData層

  測試數據文件均存放在TestData層。每一個測試用例對應的測試數據文件均以.py格式的文件存在,且文件名與測試用例名(TestCase層中的類名)相對應。下面以添加用戶的測試數據文件進行說明。測試數據以變量的形式存在,其中XML格式的內容便于Python裝飾器的使用。

  add_user={

  "name":"abcd",

  "password":"qwer1234"

  }

  xml_user_name = ′′′

  <data_driver>

  <user>

  <name>abcd</name>

  </user>

  <user>

  <name>ABCDEFG</name>

  </user>

  </data_driver>

  ′′′

5自動化測試執行

  5.1測試用例管理

  測試用例管理使用XML文件以及對應的解析代碼來實現。測試用例執行的級別可以根據項目需要設置為全用例集、BVT用例集、模塊級用例集、特定用例集等。每種測試級別使用對應的XML文件進行配置和管理。日志級別包括顯示所有日志信息、只顯示錯誤和警告日志信息、顯示調試信息等。

  下面以模塊級用例集的XML配置文件為例進行說明。module name為模塊名稱,description為對該模塊的功能描述,filename為該模塊對應的測試用例腳本存放的文件名稱,run為執行標志,如果為True表示執行,如果為False表示不執行。

  <?xml version="1.0" encoding="UTF-8"?>

  <modules>

  <module name="User" id="01">

  <description>用戶</description>

  <filename>User.py</filename>

  <run>True</run>

  </module>

  </modules>

  5.2測試報告生成

  測試報告采用unittest單元測試庫擴展的HTMLTestRunner.py,可以生成HTML的自動化測試報告。使用方法如下面代碼所示。

  fp=file(result_file, 'wb')

  runner=HTMLTestRunner(

  stream=fp,

  title=u"中標麒麟微云操作系統V2.0-HTTP接口自動化測試報告",

  description=(

  u"中標麒麟微云操作系統V2.0-HTTP接口自動化測試報告\\n"

  u'測試執行方式:%s' % exec_type

  )

  自動化測試執行完成后,會在指定的目錄下生成測試報告。報告中顯示測試報告名稱、測試起始時間、測試時長、狀態(包括通過用例數、失敗用例數、錯誤用例數),顯示測試用例列表,可以展開顯示測試用例日志詳情,測試通過的用例綠色顯示,失敗的用例橙色顯示,錯誤的用例(一般是測試腳本有問題)紅色顯示,以便后續可以區分查看和分析。

6CSRF Token驗證問題解決

  跨站請求偽造(Crosssite Request Forgery,CSRF)是一種對網站的惡意利用。由于目標站無token/referer限制,導致攻擊者能以用戶的身份完成操作,達到各種目的。

  為了提高Web的安全性,有些Web在提交Ajax請求時需要CSRF Token驗證。如何在調用HTTP接口的頭信息中設置正確的Cookie值,成為自動化測試HTTP接口的難點。筆者在實際項目測試中提出了兩種解決方案,這兩種方案都需要結合Firefox瀏覽器。

  6.1通過Firefox瀏覽器獲取

  在Firefox瀏覽器中安裝firebug插件,啟用firebug。手動登錄待測Web頁面。查看firebug中登錄操作的【網絡】 【XHR】 【頭信息】 【響應頭信息】 【SetCookie】的內容。

  腳本流程圖如圖4所示。使用該方法由于需要模擬用戶進行瀏覽器登錄操作,因此需要導入selenium.Webdriver模塊。

圖像 004.png

  6.2通過Logout接口和Login接口獲取

  在Firefox瀏覽器上先手動登錄再退出待測Web頁面。查看Firebug中退出操作的【網絡】 【XHR】 【頭信息】 【請求頭信息】 【Cookie】的內容。

  腳本流程圖如圖5所示。該方法相對于通過Firefox瀏覽器獲取的方法,效率更高。

7結論

  本文研究了HTTP接口自動化測試方法,采用Python語言開發代碼,使用Request調用HTTP接口。提出了一種分層結構的自動化測試框架,將接口調用、測試用例和測試數據的代碼分層開發,生成基于HTML的測試報告,方便瀏覽和統計。提出了兩種解決CSRF Token驗證問題的方案,并在實際項目中進行了應用。該自動化測試方法 開發出的自動化腳本結構清晰,容易維護,有效提高了測試效率,降低了測試成本。

圖像 005.png

  參考文獻

 ?。?] 王會青,馮秀芳. Web應用軟件測試方法的研究[J]. 太原理工大學學報,2007, 38(4):54 57.

  [2] 瑁靜,鐘亦平,張世永. 基于協議分析的自動化Web性能測試[J]. 計算機工程,2005, 31(7):66 69.

  [3] WASSERMANN G, Yu Dachuan, CHANDER A. Dynamic test input ceneration for Web apllications[J]. ISST’08, July, 2008:20 24.

 ?。?] DOUGLAS E, COMER, DAVID L, 等. 用TCP/IP進行網際互連(第1卷)第4版[M].林瑤,蔣慧,杜蔚軒,譯.  北京:電子工業出版社,1998.

 ?。?] CHUN W J. Python核心編程(第2版)[M]. 宋吉廣,譯. 北京:人民郵電出版社,2008.


此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          99国产精品国产精品毛片| 一区二区三区产品免费精品久久75| 狠久久av成人天堂| 欧美电影在线观看完整版| 欧美绝品在线观看成人午夜影视| 国产精品狼人久久影院观看方式| 国产精品xvideos88| 欧美在线日韩| 欧美久久久久免费| 国产亚洲精品资源在线26u| 国产精品99久久久久久久vr| 亚洲日本精品国产第一区| 国产色婷婷国产综合在线理论片a| 欧美肉体xxxx裸体137大胆| 亚洲图中文字幕| 亚洲欧洲日韩女同| 亚洲激情啪啪| 在线观看视频一区二区| 国产一区二区无遮挡| 噜噜噜久久亚洲精品国产品小说| 免费成人av资源网| 欧美顶级大胆免费视频| 91久久嫩草影院一区二区| 在线视频欧美日韩| 亚洲一区黄色| 在线精品高清中文字幕| 国产精品丝袜久久久久久app| 国产精品视频yy9299一区| 国产日产欧美精品| 欧美日韩国产精品一卡| 欧美剧在线观看| 亚洲欧美福利一区二区| 极品中文字幕一区| 亚洲欧美色一区| 国产精品日韩久久久| 久久亚洲精品视频| 国产午夜精品理论片a级探花| 欧美一区二区三区在线免费观看| 噜噜噜久久亚洲精品国产品小说| 久久精品噜噜噜成人av农村| 亚洲一区二区三区高清不卡| 国产精品网站在线观看| 亚洲视频在线观看一区| 久久综合九色九九| 在线日韩中文| 欧美欧美天天天天操| 国产精品亚洲不卡a| 欧美色精品天天在线观看视频| 欧美激情一区二区三区蜜桃视频| 欧美高潮视频| 亚洲国产毛片完整版| 欧美日本亚洲韩国国产| 久久久久久欧美| 久久久水蜜桃av免费网站| 亚洲精品久久久蜜桃| 国产视频精品xxxx| 国产精品国产| 国产一区二区三区免费观看| 久久精品夜色噜噜亚洲a∨| 亚洲私拍自拍| 久久一本综合频道| 欧美激情亚洲一区| 欧美日韩国产丝袜另类| 欧美精品在线观看91| 国产亚洲一本大道中文在线| 欧美寡妇偷汉性猛交| 欧美日韩精品是欧美日韩精品| 韩国精品久久久999| 亚洲影视在线播放| 欧美日韩无遮挡| 蜜桃av噜噜一区二区三区| 久久精品欧美日韩精品| 欧美亚洲综合在线| 日韩亚洲国产欧美| 国产欧美日韩激情| 国产欧美精品一区aⅴ影院| 国产日韩欧美三级| 久久婷婷国产麻豆91天堂| 国产视频一区二区在线观看| 红桃视频亚洲| 亚洲乱码国产乱码精品精98午夜| 欧美日韩精品二区第二页| 伊人成综合网伊人222| 亚洲国产天堂久久综合网| 欧美成人精品在线视频| 国产精品久久久久久久免费软件| 亚洲一二三区在线观看| 久久久免费观看视频| 亚洲欧美在线免费观看| 在线电影院国产精品| 久久久成人网| 亚洲人成人一区二区在线观看| 欧美人与性禽动交情品| 一区二区三区高清| 亚洲国产午夜| 亚洲与欧洲av电影| 久久全国免费视频| 久久国产夜色精品鲁鲁99| 欧美体内she精视频在线观看| 亚洲青色在线| 国产精品一区免费观看| 午夜在线播放视频欧美| 国产日韩精品久久久| 一道本一区二区| 黄色一区二区三区四区| 免费观看一区| 欧美国产视频在线| 亚洲精品国产日韩| 免费看的黄色欧美网站| 亚洲一区二区免费| 一区二区三区高清不卡| 久久精品在线免费观看| 久久精品国产第一区二区三区最新章节| 国内精品久久久久久久果冻传媒| 在线观看成人网| 狠狠色伊人亚洲综合网站色| 国产欧美精品日韩| 一区二区不卡在线视频 午夜欧美不卡在| 欧美成人综合一区| 亚洲综合大片69999| 国产欧美日韩视频一区二区三区| 欧美人成在线视频| 欧美另类在线播放| 久久久久久久综合色一本| 国产精品久久久久久久久借妻| 欧美日本在线看| 国产精品久久久久91| 亚洲视频欧美在线| 欧美三级日韩三级国产三级| 国产精品中文在线| 欧美一区视频在线| 欧美日韩亚洲国产精品| 久久久久久久久久久久久女国产乱| 西西裸体人体做爰大胆久久久| 欧美高清视频在线| 亚洲欧美日韩国产成人精品影院| 国产一区二区三区的电影| 久久久www| 欧美成人免费视频| 久久久久久一区二区三区| 中国女人久久久| 国产一区二区三区精品久久久| 亚洲高清激情| 亚洲美女在线视频| 亚洲第一福利社区| 这里只有精品电影| 久久久久欧美精品| 久久全球大尺度高清视频| 欧美岛国在线观看| 久久高清福利视频| 欧美日韩免费观看一区二区三区| 国产精品久久二区二区| 久久免费99精品久久久久久| 久久久久久久999| 欧美成黄导航| 亚洲视频一起| 亚洲欧洲免费视频| 小黄鸭精品aⅴ导航网站入口| 国产小视频国产精品| 国内欧美视频一区二区| 国产日韩综合一区二区性色av| 亚洲一区二区动漫| 国内精品久久久久影院色| 亚洲伦伦在线| 欧美久久久久| 一区二区三区视频免费在线观看| 欧美国产日本韩| 久久aⅴ乱码一区二区三区| 国产伦精品免费视频| 欧美另类99xxxxx| 美日韩在线观看| av成人老司机| 亚洲国产成人精品女人久久久| 国产一区二区三区高清| 中国日韩欧美久久久久久久久| 欧美四级在线| 亚洲天堂黄色| 久久一区欧美| 国产一区二区精品久久| 亚洲精品久久久久| 一本色道久久综合| 国产精品99久久久久久久女警| 国产伦精品一区二区| 亚洲日本成人女熟在线观看| 欧美一区二视频在线免费观看| 亚洲自拍16p| 另类激情亚洲| 夜夜嗨av一区二区三区四季av| 久久综合九九| 午夜久久久久| 一区二区三区|亚洲午夜| 欧美日韩美女在线观看| 国产欧美精品在线播放| 一级成人国产| 欧美国产欧美亚州国产日韩mv天天看完整| 午夜免费在线观看精品视频| 麻豆精品一区二区av白丝在线| 久久久免费av| 亚洲欧美精品在线观看| 亚洲国产精品成人综合| 国产精品乱码一区二三区小蝌蚪| 欧美成人激情视频免费观看| 欧美成ee人免费视频| 韩日午夜在线资源一区二区| 国产一区二区福利| 影音先锋在线一区| 麻豆成人小视频| 韩国在线一区| 亚洲乱码国产乱码精品精可以看| 亚洲欧美成人综合| 久久久精品国产免费观看同学| 欧美精品久久天天躁| 国产精品九九| 欧美亚日韩国产aⅴ精品中极品| 在线国产欧美| 久久精品亚洲乱码伦伦中文| 国模吧视频一区| 欧美日韩亚洲视频一区| 亚洲激情电影在线| 亚洲理论在线观看| 国产精品久久国产愉拍| 亚洲国产日韩美| 亚洲国产精品久久久久秋霞不卡| 久久精品五月婷婷| 一本色道久久综合狠狠躁的推荐| 久久精品论坛| 欧美日本国产视频| 亚洲电影免费观看高清完整版在线观看| 亚洲欧洲99久久| 亚洲综合第一| 国产日韩精品一区二区| 中文欧美字幕免费| 欧美特黄一区| 六十路精品视频| 亚洲第一免费播放区| 亚洲欧美第一页| 男人的天堂亚洲在线| 欧美好吊妞视频| 久久成人综合网| 香蕉久久久久久久av网站| 欧美国产日韩一区二区| 欧美日韩免费一区二区三区| 午夜久久久久| 六月婷婷久久| 欧美婷婷在线| 国产在线视频欧美一区二区三区| 在线不卡免费欧美| 午夜在线视频观看日韩17c| 欧美日韩日本网| 午夜精品久久久久99热蜜桃导演| 亚洲专区在线| 午夜亚洲福利在线老司机| 国产一区二区欧美| 欧美午夜激情视频| 一本色道久久综合亚洲91| 在线观看一区| 国产日韩一区欧美| 国产综合色在线| 性欧美大战久久久久久久免费观看| 亚洲在线成人精品| 亚洲天堂免费在线观看视频| 亚洲第一黄色网| 国产精品欧美日韩一区| 国产毛片一区| 午夜精品国产精品大乳美女| 亚洲高清在线视频| 亚洲精品欧洲| 欧美日韩综合视频| 国产精品久久综合| 国产一区成人| 欧美二区在线观看| 亚欧成人在线| 国产一区二区三区久久| 国产精品任我爽爆在线播放| 亚洲午夜一区| 亚洲在线观看免费视频| 国内偷自视频区视频综合| 国产精品亚洲综合| 国产精品乱码一区二区三区| 男女激情视频一区| 欧美精品久久99久久在免费线| 国产日韩欧美视频在线| 亚洲精品久久久久久久久| 欧美精品激情blacked18| 久久露脸国产精品| 美女视频黄 久久| 国产一区二区三区成人欧美日韩在线观看| 99精品欧美一区二区三区| 久久精品国产第一区二区三区| 国产精品羞羞答答xxdd| 亚洲风情在线资源站| 加勒比av一区二区| 国产精品午夜视频| 亚洲精品久久久久久久久久久久久| 在线视频一区二区| 国产精品一区二区三区久久久| 亚洲综合日韩在线| 91久久在线视频| 欧美午夜不卡| 亚洲最新色图| 日韩亚洲欧美综合| 免费的成人av| 亚洲少妇诱惑| 一区二区在线视频| 国产精品啊啊啊| 亚洲一卡二卡三卡四卡五卡| 在线免费观看日本一区| 亚洲三级色网| 亚洲欧美视频| 久久久av网站| 欧美成人午夜免费视在线看片| 欧美日韩国产一区二区三区地区| 欧美三级网址| 久久久99国产精品免费| 亚洲专区在线视频| 欧美国产激情二区三区| 久久蜜臀精品av| 国产一区二区三区免费观看| 久久精品人人做人人爽电影蜜月| 亚洲私人影院在线观看| 韩国欧美一区| 最近看过的日韩成人| 欧美在线高清| 国产欧美高清| 亚洲一区国产一区| 欧美视频免费看| 欧美日韩极品在线观看一区| 亚洲日韩中文字幕在线播放|