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

鴻蒙自動化常見踩坑點及解決方法

系統(tǒng) 自動化
在做鴻蒙自動化測試時,經(jīng)常會碰到一些讓同學(xué)頭疼的問題,有時會阻礙很久,影響編寫自動化腳本進度,那么碰到這些阻礙點,我們該如何下手呢,下面羅列幾個常見的坑點機解決方案。

[[422395]]

想了解更多內(nèi)容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.51cto.com

在做鴻蒙自動化測試時,經(jīng)常會碰到一些讓同學(xué)頭疼的問題,有時會阻礙很久,影響編寫自動化腳本進度,那么碰到這些阻礙點,我們該如何下手呢,下面羅列幾個常見的坑點機解決方案

踩坑點一、在點擊方法使用的定位元素為非坐標(biāo)控件的情況時,獲取圖片方法無法截取到toast!

如何獲取toast樣式進行自動化?

1.步驟:

  • 截取toast樣式保存樣式圖片(點擊非元素坐標(biāo),無法獲取到toast圖片)
  • 踩坑點:使用gif錄制工具,計算點擊到彈出toast的時間,使用非元素坐標(biāo)點擊,無法獲取到toast截圖,正常邏輯思維,改變點擊到彈出toast的時間,始終無法獲取到toast圖片
  • 截取整個屏幕的圖片
  • 將樣式圖片與整體圖片進行對比驗證,樣式是否存在且一致

2.獲取圖片方法:

  1. def get_image(png_path, xy=None): 
  2.     ""
  3.     截圖,當(dāng)xy入?yún)⒂行r則進行裁剪 
  4.     :param png_path: 截圖的路徑 
  5.     :param xy: (x1,y1,x2,y2) 
  6.     :return
  7.     ""
  8.     conf.driver.get_screenshot_as_file(png_path) 
  9.     logger.debug("截屏成功"
  10.     if xy is not None: 
  11.         if isinstance(xy, tuple): 
  12.             for i in xy: 
  13.                 if isinstance(i, int): 
  14.                     pass 
  15.                 else
  16.                     logger.error("xy的入?yún)⒈仨毝际钦麛?shù)"
  17.                     raise (Exception, "xy的入?yún)⒈仨毝际钦麛?shù)"
  18.             try: 
  19.                 Image.open(png_path).crop(xy).save(png_path) 
  20.                 logger.debug("圖片[%s]裁剪成功,裁剪坐標(biāo)%s" % (png_path,xy)) 
  21.             except Exception as e: 
  22.                 logger.error("截圖失敗"
  23.                 raise e 
  24.         else
  25.             logger.error("xy的入?yún)⒏袷奖仨毷?nbsp;(x1,y1,x2,y2) "
  26.             raise (Exception, "xy的入?yún)⒏袷奖仨毷?nbsp;(x1,y1,x2,y2) "

3.創(chuàng)建文件名稱:

  1. expect_image = os.path.join(self.expect_images, "expect_Toast.png"
  2. assert_image = os.path.join(self.assert_images, "assert_Toast_001.png"
  3. success_image = os.path.join(self.success_images, "success_Toast_001.png"

4.圖片對比方法:

  1. def image_assert(img1, img2, image_path=None, threshold=0.95,cvformat=1): 
  2.     ""
  3.     斷言圖片img1是否在img2中,若斷言成功則會將圖片保存至本地 
  4.     !!! 斷言的圖片必須用appium截圖,可根據(jù)需求進行裁剪(該類下的get_image方法截圖即可) 
  5.     !!! 直接對模擬器手動截圖然后與appium的自動截圖做對比是無法匹配的,因為分辨率完全不同!!! 
  6.     :param img1: 預(yù)期的圖片 
  7.     :param img2: 用例執(zhí)行時的截圖 
  8.     :param image_path: 判斷后若斷言成功則會將對比后的圖片保存至本地,本地路徑,不入?yún)t不會生成對比圖 
  9.     :param threshold: 匹配度,建議大于0.9 
  10.     :param cvformat: 圖片轉(zhuǎn)換格式,入?yún)?-轉(zhuǎn)換為灰度圖片,入?yún)⒎?-轉(zhuǎn)換為RGB格式,對顏色有嚴(yán)格校驗需求的要轉(zhuǎn)成RGB格式 
  11.     :returnTrue or False 
  12.     ""
  13.     if not os.path.exists(img1): 
  14.         raise (Exception,"[%s]圖片不存在!" % img1) 
  15.     if not os.path.exists(img2): 
  16.         raise (Exception, "[%s]圖片不存在!" % img2) 
  17.     scale = 1 
  18.     img = cv2.imread(img2)  # 要找的大圖 
  19.     img = cv2.resize(img, (0, 0), fx=scale, fy=scale) 
  20.     template = cv2.imread(img1)  # 圖中的小圖 
  21.     template = cv2.resize(template, (0, 0), fx=scale, fy=scale) 
  22.     template_size = template.shape[:2] 
  23.     if int(cvformat) == 1: 
  24.         img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) 
  25.         template_ = cv2.cvtColor(template, cv2.COLOR_BGR2GRAY) 
  26.     else
  27.         img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) 
  28.         template_ = cv2.cvtColor(template, cv2.COLOR_BGR2RGB) 
  29.     result = cv2.matchTemplate(img_gray, template_, cv2.TM_CCOEFF_NORMED) 
  30.     loc = np.where(result >= threshold) 
  31.     # 使用灰度圖像中的坐標(biāo)對原始RGB圖像進行標(biāo)記 
  32.     point = () 
  33.     for pt in zip(*loc[::-1]): 
  34.         cv2.rectangle(img, pt, (pt[0] + template_size[1], pt[1] + template_size[0]), (0, 0, 255), 2) 
  35.         point = pt 
  36.     if point == (): 
  37.         logger.debug("圖片[%s]在圖片[%s]中沒有匹配到" % (img1, img2)) 
  38.         return False 
  39.     else
  40.         if image_path is not None: 
  41.             cv2.imwrite(image_path, img, [int(cv2.IMWRITE_PNG_COMPRESSION), 3])  # 將圖片保存到本地 
  42.         logger.debug("圖片[%s]在圖片[%s]中成功匹配到" % (img1, img2)) 
  43.         return True 

5.點擊方法:

  1. def ta_tap(self, selector, wait_presence=0, wait_visibility=0, timeout=20): 
  2.     ""
  3.     模擬手指點擊一個元素或坐標(biāo) 
  4.     :param selector: 點擊的元素,定位器,要求格式為["元素名稱","定位方法","定位表達(dá)式"],例如["XXX按鈕","XPATH","//a[@text=‘測試定位’]"],["XXX按鈕","ID","username"
  5.     :param wait_presence: 是否需要等待元素加載,0-不需要,1-需要 
  6.     :param wait_visibility: 是否需要等待元素可見,0-不需要,1-需要 
  7.     :param timeout: 等待的時間,默認(rèn)20秒 
  8.     :return
  9.     ""
  10.     if selector: 
  11.         try: 
  12.             locator_name = selector[0] 
  13.             locator_by = str(selector[1]).upper()  # 定位方式 
  14.             locator_value = str(selector[2])  # locator的值 
  15.         except Exception as e: 
  16.             logger.error("ta_tap方法:selector入?yún)⒏袷奖仨毷莑ist<string>,[元素名稱,定位方法,定位表達(dá)式]"
  17.             raise e 
  18.         if str(wait_presence) == "1" and str(wait_visibility) == "1"
  19.             logger.warning("ta_tap方法:請不要同時使用等待元素加載和等待元素可見!!!"
  20.         if locator_by == "XY"
  21.             try: 
  22.                 x, y = int(locator_value.split(",")[0]), int(locator_value.split(",")[1]) 
  23.             except Exception as e: 
  24.                 logger.error("XY坐標(biāo)值格式錯誤,正確格式:x,y"
  25.                 raise e 
  26.             TouchAction(conf.driver).tap(x=x, y=y).release().perform() 
  27.             logger.debug("ta_tap模擬手指點擊元素:(%s,%s)" % (x, y)) 
  28.         elif locator_by == "XY%"
  29.             phonesize = self.get_phone_size() 
  30.             phonewidth = phonesize["width"
  31.             phoneheight = phonesize["height"
  32.             try: 
  33.                 x, y = float(locator_value.split(",")[0]), float(locator_value.split(",")[1]) 
  34.             except Exception as e: 
  35.                 logger.error("XY坐標(biāo)值格式錯誤,正確格式:x,y-x和y均是小數(shù)(不要填寫百分比),例如0.8,0.5"
  36.                 raise e 
  37.             TouchAction(conf.driver).tap(x=int(x * phonewidth), y=int(y * phoneheight)).release().perform() 
  38.             logger.debug("ta_tap模擬手指點擊元素:(%s,%s)" % (x * phonewidth, y * phoneheight)) 
  39.         else
  40.             if str(wait_presence) == "1"
  41.                 self.wait_element_presence(selector, timeout) 
  42.             if str(wait_visibility) == "1"
  43.                 self.wait_element_visibility(selector, timeout) 
  44.             try: 
  45.                 el = self.xlsxfind_element(selector) 
  46.                 TouchAction(conf.driver).tap(el).release().perform() 
  47.                 logger.debug("ta_tap模擬手指點擊%s" % locator_name) 
  48.             except Exception as e: 
  49.                 logger.error("tap方法異常,元素名稱%s" % locator_name) 
  50.                 raise e 
  51.     else
  52.         raise Exception("wait_element_presence方法:selector參數(shù)是必須的"

6.示例:

鴻蒙自動化常見踩坑點及解決方法-鴻蒙HarmonyOS技術(shù)社區(qū)

踩坑點二、appium版本在1.5以后就不再支持ByName的定位

appium版本在1.5以后就不再支持ByName的定位,在appium1.6.3/1.6.4/1.6.5版本以后如何支持ByName定位,適用于安卓,同樣適用于鴻蒙。在使用appium1.5之后的版本時,當(dāng)我們直接適用ByName方式去查找控件時,一定見過這個錯誤:

  1. org.openqa.selenium.InvalidSelectorException: Locator Strategy 'name' is not supported for this session 

發(fā)現(xiàn)曾經(jīng)的定位神器居然ByName居然不再支持了,那么怎么解決這個問題呢?以下提供兩種解決方式:

  • 換其他定位方式,比如用xpath代替
  • 使用ByAByAccessibilityId代替,但實踐證明這個方法并沒有取代ByName

其中第一種是可取的,換其他定位方式,下面給大家一個不用換定位方式,可以無縫解決ByName在升級appium版本定位方法

一招修改源碼解決問題根源,修改方法如下:

在本地找到Appium路徑下的driver.js文件

  1. Appium\resources\app\node_modules\appium\node_modules\appium-android-driver\build\lib\driver.js 

只需要修改其中一行即可

鴻蒙自動化常見踩坑點及解決方法-鴻蒙HarmonyOS技術(shù)社區(qū)

打開driver.js文件

鴻蒙自動化常見踩坑點及解決方法-鴻蒙HarmonyOS技術(shù)社區(qū)

在代碼行加上“name”屬性

  1. this.locatorStrategies = ['xpath''id''class name''accessibility id''-android uiautomator','name']; 

 修改完成之后,保存,再次重啟appium服務(wù),就可以繼續(xù)使用ByName定位啦

  1. element = conf.driver.find_element_by_name("name").click() 

如果不想用這種方式,也可以使用通用xpath

  1. element = conf.driver.find_element_by_xpath("//*[@text='name']").click() 

踩坑點三、彈窗點擊確認(rèn)或選擇選項后,出現(xiàn)腳本無法往下執(zhí)行的問題

遇到這種問題時,可以通過坐標(biāo)點擊頁面彈窗,再點擊空白處來釋放,就可以繼續(xù)往下執(zhí)行

如desCharts組件在彈窗切換圖表類型后,腳本會卡住,可以通過坐標(biāo)點擊一個不影響功能的彈窗,再點擊空白處讓彈窗消失,腳本就可以繼續(xù)往下執(zhí)行:

  1. def exchange(self, elements, chart): 
  2.     ""
  3.     切換圖表選項(彈窗選擇后腳本會卡住,需要釋放) 
  4.     ""
  5.     self.ta_tap(elements["圖表切換選項"]) 
  6.     if chart in ["堆疊折線圖""柱狀圖""堆疊柱狀圖"]: 
  7.         self.swipe_xy(452, 680, 450, 150) 
  8.         time.sleep(1) 
  9.     self.ta_tap(elements[chart]) 
  10.     time.sleep(1) 
  11.     self.ta_tap(elements["釋放屏幕坐標(biāo)"]) 
  12.     time.sleep(1) 
  13.     self.ta_tap(elements["釋放屏幕坐標(biāo)"]) 
  14.     time.sleep(1) 

踩坑點四、在滾動功能無法使用時,需要滑動列表到特定位置。Appium的swipe此時不好用,drag_and_drop方法無法使用坐標(biāo)點。

解決方法:

1.重寫drag_and_drop方法,使它可以使用坐標(biāo)點

  1. def drag_and_drop(self, origin_el: Union["WebElement""dict"], destination_el: Union["WebElement""dict"]): 
  2.     action = TouchAction(self) 
  3.     if isinstance(origin_el, dict): 
  4.         action.long_press(**origin_el) 
  5.     else
  6.         action.long_press(origin_el) 
  7.     if isinstance(destination_el, dict): 
  8.         action.move_to(**destination_el) 
  9.     else
  10.         action.move_to(destination_el) 
  11.     action.release().perform() 
  12.     return self 

 2.示例:

  1. @allure.story("MusicBobber"
  2. @allure.title("MusicBobber_015"
  3. @allure.tag("L1"
  4. @allure.severity("normal")  # blocker:阻塞缺陷 critical:嚴(yán)重缺陷 normal:一般缺陷 minor:次要缺陷 trivial:輕微缺陷 
  5. @allure.description("刪除懸浮掛件"
  6. @pytest.mark.flaky(reruns=1, reruns_delay=5)  # reruns:重試次數(shù) reruns_delay:重試的間隔時間 
  7. def test_MusicBobber_015(self, allow): 
  8.     logger.info("MusicBobber_015"
  9.  
  10.     with allure.step("按返回鍵"): 
  11.         logger.info("按返回鍵"
  12.         self.keyboard(4) 
  13.         time.sleep(1) 
  14.  
  15.     with allure.step("刪除懸浮掛件"): 
  16.         logger.info("刪除懸浮掛件"
  17.         self.drag_and_drop({x:74, y:176}, {x:540, y:2048}) 
  18.         time.sleep(0.5) 
  19.  
  20.     with allure.step("驗證"): 
  21.         logger.info("驗證"
  22.         expect_image = os.path.join(self.expect_images, f"expect_MusicBobber_015.png"
  23.         assert_image = os.path.join(self.assert_images, f"assert_MusicBobber_015.png"
  24.         contrast_images = os.path.join(self.contrast_images, f"contrast_MusicBobber_015.png"
  25.         self.get_image(contrast_images) 
  26.         flag = self.image_assert(expect_image, contrast_images, assert_image) 
  27.         self.image_in_report(flag, assert_image, expect_image) 
  28.         assert flag is False 

結(jié)語

其實,在UI自動化實踐中我們還會遇到其他不同的阻礙點,Appium本身就存在一些bug,鴻蒙應(yīng)用的自動化與安卓原理基本一致,我們都是在

摸索中前行,所以,碰到坑點不要慌,在原生不支持的情況下,換一種解決方式,也會使你豁然開朗,希望以上幾個問題點及解決方案能對你有所幫助

想了解更多內(nèi)容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.51cto.com

 

責(zé)任編輯:jianghua 來源: 鴻蒙社區(qū)
相關(guān)推薦

2021-09-06 08:00:00

數(shù)字化轉(zhuǎn)型IT自動化

2021-04-20 11:03:26

人工智能AI機器學(xué)習(xí)

2011-04-29 13:22:48

ThinkPad筆記本故障

2011-05-06 17:25:58

硒鼓

2018-11-01 15:26:38

開源軟件安全

2025-04-07 07:20:35

SQL慢查詢性能

2009-03-04 10:38:36

Troubleshoo桌面虛擬化Xendesktop

2011-06-16 10:27:55

.NET內(nèi)存泄漏

2010-08-31 09:13:00

margin-top

2010-08-31 13:49:12

CSS

2009-08-24 10:37:11

Silverlight

2022-04-06 10:09:17

云服務(wù)云計算

2010-08-10 10:10:34

Flex內(nèi)存泄露

2021-03-26 10:06:42

IT自動化自動化首席信息官

2021-10-28 19:10:02

Go語言編碼

2016-09-23 20:46:53

2012-11-19 11:30:40

PowerShell常見問題解決方法

2018-05-29 11:44:22

數(shù)據(jù)庫MySQL死鎖

2020-05-18 08:58:33

Python開發(fā)工具

2022-03-04 11:24:16

工業(yè)4.0工業(yè)物聯(lián)網(wǎng)
點贊
收藏

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

英国三级经典在线观看| 91日本在线视频| 麻豆亚洲一区| 亚洲欧美综合7777色婷婷| 亚洲国产中文字幕在线| 成人精品电影| 色婷婷国产精品| 国产精品亚洲一区二区三区| 99精品一区二区三区无码吞精| 色多多视频在线观看| 亚洲a级精品| 一区二区三区不卡视频| 国产精品视频公开费视频| avtt香蕉久久| 韩国成人免费视频| 国产一区二区三区不卡在线观看| 在线观看不卡av| 91看片就是不一样| 免费人成黄页在线观看忧物| 亚洲少妇诱惑| 日韩精品在线视频| 成人免费观看视频在线观看| 日韩资源在线| 亚洲欧美网站| 日韩经典中文字幕在线观看| 阿v天堂2017| 少妇精品视频一区二区| 伊人久久成人| 亚洲精品videossex少妇| 日韩欧美不卡在线| 图片区 小说区 区 亚洲五月| 欧美日韩午夜| 亚洲激情自拍图| 手机免费看av网站| www.成年人视频| 国内精品久久久久久久久久久| 图片小说视频色综合| 这里只有精品免费| 国产情侣第一页| 深夜福利视频网站| 国产乱子轮精品视频| 欧美裸体xxxx极品少妇| 91精品人妻一区二区三区蜜桃2| 操你啦视频在线| 成人免费的视频| 欧美中在线观看| 国产破处视频在线观看| 福利一区三区| 午夜精品免费在线观看| 蜜桃视频成人| 欧美精品少妇| 99久久综合99久久综合网站| 日本韩国欧美精品大片卡二| 国产在线综合网| 无码少妇一区二区三区| 色综合久久久久| 色综合久久久久无码专区| 国产鲁鲁视频在线观看免费| 国产在线不卡一卡二卡三卡四卡| 国产精品免费电影| 亚洲第一区av| 亚洲一级黄色| 久久久人成影片一区二区三区| 亚洲最大成人网站| 国产精品一区二区三区www| 欧美美女直播网站| 欧美日韩精品在线一区二区| 阿v视频在线| 中文字幕永久在线不卡| 国产一区二区无遮挡| 中文字幕欧美人妻精品| 亚洲高清在线| 68精品国产免费久久久久久婷婷 | 中文字幕高清在线播放| 五月激情六月综合| 中文字幕一区二区三区在线乱码| 后进极品白嫩翘臀在线视频| 青青草国产精品97视觉盛宴| 久久免费福利视频| 亚洲 欧美 日韩 综合| 亚洲男女av一区二区| 亚洲久久久久久久久久久| 国产美女视频免费看| 国产亚洲精aa在线看| 精品国产乱码久久久久久影片| 四季av一区二区| 国产中文在线播放| 在线观看日韩一区| 精品这里只有精品| www.26天天久久天堂| 激情亚洲一区二区三区四区| 国产精品少妇在线视频| 六九午夜精品视频| 色呦呦国产精品| 91pony九色| 日本三级久久| 亚洲成人黄色在线| 在线观看视频你懂得| 欧美91在线|欧美| 精品少妇一区二区三区 | 成人性生活视频| 亚洲一区二区视频在线| 亚洲AV无码成人精品一区| 成人精品一区二区三区校园激情| 91丝袜呻吟高潮美腿白嫩在线观看| 亚洲精品日韩av| 国产精品国产一区二区三区四区 | 欧美理论在线播放| 日韩经典一区二区三区| 国产激情无码一区二区三区| 99久久亚洲精品蜜臀| 午夜精品久久久久久久久久久久 | 一区二区不卡免费视频| 丁香一区二区| 亚洲国产精品va在看黑人| 久久久久亚洲AV成人无在| 欧美亚洲在线日韩| 国模精品系列视频| 国产女人爽到高潮a毛片| 国产乱子伦视频一区二区三区| 久久综合色一本| 男人添女人下部高潮视频在线观看| 亚洲日本在线a| 日本精品福利视频| 国产在线xxx| 91精品在线一区二区| 一区二区伦理片| 日韩成人三级| 米奇精品一区二区三区在线观看| 91视频综合网| 在线日韩视频| 欧洲中文字幕国产精品| 亚洲av少妇一区二区在线观看| 国产网红主播福利一区二区| 亚洲蜜桃av| 国产1区在线| 欧美日韩国产天堂| 原创真实夫妻啪啪av| 日韩久久视频| 国产精品久久久久福利| 国产精品一区二区av白丝下载 | 国产综合精品一区二区三区| 性xxxfreexxxx性欧美| 亚洲一区在线看| 亚洲自拍第三页| 国产96在线亚洲| 欧美国产日韩一区二区三区| 日韩欧美一级视频| 成人精品视频一区| 日韩精品欧美一区二区三区| 国产不卡在线| 制服丝袜av成人在线看| 男人的天堂久久久| 成人夜色视频网站在线观看| 国产青草视频在线观看| 国产乱人伦丫前精品视频| 国内免费精品永久在线视频| 人妻无码中文字幕免费视频蜜桃| 国产视频在线观看一区二区三区| 国产女女做受ⅹxx高潮| 精品欧美视频| 亚洲欧美日韩直播| 无码人妻丰满熟妇区bbbbxxxx| 久久精品噜噜噜成人av农村| 国产女主播一区二区| 福利成人导航| 国产视频精品xxxx| 中文字幕av在线免费观看| 中文字幕日韩一区| 久久国产乱子伦免费精品| 欧美三级美国一级| 91精品在线播放| 男人天堂亚洲天堂| 亚洲精美色品网站| 波多野结衣黄色网址| 成人精品gif动图一区| 国产 日韩 亚洲 欧美| 蜜臀91精品国产高清在线观看| 欧美疯狂xxxx大交乱88av| 免费a视频在线观看| 欧美性xxxxx极品娇小| 肉丝美足丝袜一区二区三区四| 亚洲另类黄色| 亚洲国产日韩美| 99热这里只有精品首页 | 蜜臀av性久久久久蜜臀aⅴ| 国产区日韩欧美| 日本中文字幕一区二区| 亚洲激情视频网| 瑟瑟视频在线免费观看| 亚洲精品成人悠悠色影视| 性生活免费在线观看| 美女毛片一区二区三区四区| 国产色婷婷国产综合在线理论片a| 亚洲三级黄色片| 欧美日韩国产免费一区二区 | 色婷婷一区二区| 日韩va亚洲va欧美va清高| 91在线视频观看| 欧美精品自拍视频| 色999日韩| 精品伊人久久大线蕉色首页| 丁香花在线影院| 伊人久久大香线蕉av一区二区| av网站在线免费看| 日韩欧美在线字幕| 久久激情免费视频| 国产aⅴ综合色| 日韩精品久久一区二区| 久久99影视| 国产精品三区四区| 91精品国产黑色瑜伽裤| 精品乱码亚洲一区二区不卡| 国产精品无码粉嫩小泬| 香蕉乱码成人久久天堂爱免费| 国产成人在线网址| 国产亚洲精品aa午夜观看| 亚洲熟女一区二区| 亚洲一区黄色| 成人午夜免费剧场| 99这里只有精品视频| 国产欧美日韩专区发布| av日韩电影| 69视频在线播放| sm在线观看| 欧美成年人视频| 米奇777四色精品人人爽| 日韩西西人体444www| 国产在线视频99| 1024亚洲合集| av在线免费播放网址| 国产亚洲欧美中文| 三上悠亚ssⅰn939无码播放| 日韩激情中文字幕| 精品久久免费观看| 日韩伦理视频| 亚洲欧美在线网| 日韩av大片| 亚洲国产一区二区在线| 欧美猛男同性videos| 久久久久se| 久久er热在这里只有精品66| 日韩av成人在线观看| 免费a级在线播放| 日日摸夜夜添一区| 免费的黄色av| 亚洲国产天堂久久综合网| 日韩中文字幕观看| 亚洲国产另类 国产精品国产免费| 亚洲AV无码一区二区三区性| 日韩一区二区在线观看视频播放| 国产情侣一区二区| 日韩欧美你懂的| 四虎影院在线免费播放| 日本乱人伦aⅴ精品| 五月天婷婷导航| 一区二区三区不卡在线观看| 久久国产精品波多野结衣| 亚洲综合一二区| 97免费在线观看视频| 亚洲欧美综合另类在线卡通| 91免费在线看片| 亚洲老司机在线| 黄色片网站免费| 成人avav影音| 真人bbbbbbbbb毛片| 久久久国产午夜精品| wwwww在线观看| 成人aa视频在线观看| 九色porny自拍视频| 国产精品传媒在线| 亚洲色图综合区| 懂色av影视一区二区三区| avove在线播放| 中文av一区特黄| 国产乱了高清露脸对白| 久久免费美女视频| 女性生殖扒开酷刑vk| 极品美女销魂一区二区三区免费| av动漫免费看| 久久精品免费看| 无码成人精品区在线观看| 国产日韩欧美精品一区| 成人免费毛片xxx| 天天影视色香欲综合网老头| 国产精品尤物视频| 日韩女优电影在线观看| 精品无人乱码| 亚洲另类xxxx| 好操啊在线观看免费视频| 揄拍成人国产精品视频| 91麻豆一二三四在线| 久久精品成人欧美大片古装| 成人jjav| 欧美激情亚洲一区| 羞羞网站在线看| 日韩免费精品视频| 欧美日本三级| 亚洲va韩国va欧美va精四季| 欧美美乳视频| 日韩视频 中文字幕| 日韩精品乱码免费| 久久精品无码专区| 国产精品久久久久久久久免费丝袜| 久久精品久久精品久久| 欧美视频中文字幕| 亚洲视频久久久| 欧美剧在线免费观看网站| 五月天福利视频| 久久精品视频播放| 天天综合网站| 国产精品久久久久久久午夜| 91久久精品无嫩草影院| 国产高清自拍一区| 欧洲亚洲视频| 欧美少妇一区二区三区| 免费高清视频精品| 色婷婷av777| 精品久久久久久久久久| 国产黄色av片| 久久久国产精彩视频美女艺术照福利| 性欧美1819sex性高清| 国产精品丝袜久久久久久不卡| 女同一区二区三区| 国产精品久久久久9999爆乳| 狠狠色狠狠色综合系列| 毛片aaaaaa| 欧美在线小视频| 精品亚洲综合| 日韩美女视频中文字幕| 日韩啪啪网站| 精品久久久久久久久久中文字幕| 成人综合婷婷国产精品久久蜜臀| 成人性生活毛片| 欧美欧美午夜aⅴ在线观看| 国产98在线| 国产精品99导航| 国产视频一区二| 一区二区三区四区久久| 日本vs亚洲vs韩国一区三区| 99久久久无码国产精品性| 欧美日韩中文字幕综合视频| 天天操天天操天天| 国内精品久久久久影院 日本资源| 日韩精品成人在线观看| 久99久在线| 国产精品日韩| 素人fc2av清纯18岁| 欧美性xxxxhd| 国产视频网站在线| 国产精品成人观看视频国产奇米| 久久最新网址| 一区二区在线免费看| 成人av在线观| 永久免费看片在线播放| 日韩国产高清视频在线| 亚洲黄色中文字幕| 日韩资源av在线| 精品在线观看免费| 老司机福利av| 在线视频国产一区| 暖暖日本在线观看| 91黄在线观看| 欧美特黄一级大片| 日本中文字幕二区| 亚洲精品免费一二三区| 蜜桃在线一区二区| 欧美最顶级的aⅴ艳星| 国产欧美一区二区三区精品观看 | 国产伦精品一区二区三区免| 最新亚洲一区| 国产精品美女高潮无套| 欧美精品欧美精品系列| 欧美videosex性欧美黑吊| 好吊妞www.84com只有这里才有精品| 亚洲永久免费| 精品国产大片大片大片| 色噜噜狠狠色综合中国| av在线首页| 99国产精品久久久久老师| 99久久亚洲精品蜜臀| 国产香蕉精品视频| 一本高清dvd不卡在线观看| 免费a在线看| 久久综合中文色婷婷| 久久超碰97中文字幕| 国产无码精品一区二区| 在线亚洲欧美视频| 国产日韩电影| 青青草免费在线视频观看| 91麻豆文化传媒在线观看| 亚洲综合网av| 97国产成人精品视频| 99久久婷婷这里只有精品| 亚洲av成人精品一区二区三区| 欧美性欧美巨大黑白大战| h片精品在线观看| 在线观看福利一区| 91丨porny丨在线| 国产高中女学生第一次|