亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

鴻蒙HDC模擬操作實(shí)戰(zhàn):從tap、swipe到自動(dòng)化腳本

鴻蒙HDC模擬操作實(shí)戰(zhàn):從tap、swipe到自動(dòng)化腳本 做鴻蒙開發(fā)的人應(yīng)該都經(jīng)歷過這種狀態(tài)功能改完了要驗(yàn)證流程結(jié)果同一套點(diǎn)擊、滑動(dòng)、輸入在真機(jī)上手動(dòng)點(diǎn)了一遍又一遍。后來我把這套重復(fù)工作交給HDC命令行工具的模擬操作一句命令代替一個(gè)手指動(dòng)作配合腳本能跑完整條鏈路。這篇就是我在鴻蒙設(shè)備上折騰HDC模擬操作的完整記錄包括每條指令的用法、連設(shè)備時(shí)踩過的坑以及常見的失效排查方法適合剛接觸鴻蒙開發(fā)或者想把手動(dòng)測試自動(dòng)化的人參考。1. HDC模擬操作是什么解決了什么真實(shí)問題1.1 從ADB時(shí)代過來的聯(lián)想早年做安卓開發(fā)時(shí)我已經(jīng)習(xí)慣用ADB調(diào)試設(shè)備。第一次接觸鴻蒙的HDC我第一反應(yīng)是翻命令清單發(fā)現(xiàn)它和ADB的很多思路是共通的。HDC全稱是HarmonyOS Device Connector本質(zhì)是電腦與鴻蒙設(shè)備之間的調(diào)試橋。它負(fù)責(zé)把電腦上的命令送到設(shè)備執(zhí)行也能把設(shè)備日志、狀態(tài)回傳回來。對開發(fā)者來說最常用的功能無非是安裝HAP、列出設(shè)備、進(jìn)入Shell、模擬輸入操作等。我特別想強(qiáng)調(diào)一點(diǎn)HDC不是ADB的簡單改名。鴻蒙的設(shè)備協(xié)議、權(quán)限模型和應(yīng)用安裝機(jī)制都有自己的一套邏輯。比如安裝包是HAP拉起Ability用aa start很多命令參數(shù)跟Android不完全一樣。所以你不能想當(dāng)然地把ADB命令直接套過來最好的方式是先看一遍HDC支持的完整命令列表再針對性使用。模擬操作就是其中讓我覺得價(jià)值最大的一塊。它的本質(zhì)很簡單讓設(shè)備系統(tǒng)接收一個(gè)輸入事件比如坐標(biāo)點(diǎn)擊、滑動(dòng)手勢、物理按鍵、文本輸入。對App來說這些事件跟在屏幕上用手指操作沒有本質(zhì)區(qū)別。應(yīng)用并不感知是誰在點(diǎn)只感知到觸摸事件流。這也就意味著你可以在不侵入應(yīng)用代碼的前提下用一個(gè)外部命令行工具驅(qū)動(dòng)整個(gè)界面流程非常適合回歸測試、演示錄屏、批量驗(yàn)證。1.2 HDC能模擬哪些操作我在實(shí)際項(xiàng)目里最常用的模擬能力包括這幾類點(diǎn)擊指定屏幕坐標(biāo)模擬一次手指按下和抬起。滑動(dòng)從起點(diǎn)滑到終點(diǎn)支持設(shè)置時(shí)長也能模擬長按。按鍵模擬返回鍵、Home鍵、音量鍵、電源鍵等物理按鍵。文本輸入向當(dāng)前焦點(diǎn)輸入框發(fā)送ASCII文本。屏幕相關(guān)亮屏、息屏、鎖屏狀態(tài)切換。配合輔助截圖、查看當(dāng)前窗口、獲取布局信息等。這些能力單獨(dú)看都不復(fù)雜但組合起來能完成很多事。比如我剛接手一個(gè)鴻蒙應(yīng)用時(shí)需要在不同賬號下跑一遍完整的用戶路徑。手動(dòng)操作一次大概三分鐘十幾個(gè)賬號就是快一個(gè)小時(shí)而且人很容易點(diǎn)錯(cuò)。用HDC模擬操作之后我把賬號信息放進(jìn)循環(huán)跑一組大約十分鐘就能完事中途還能去做別的事。1.3 它和你手動(dòng)操作有什么區(qū)別最大的區(qū)別是“狀態(tài)感知能力”。人手點(diǎn)界面時(shí)眼睛能看到界面變化知道該等頁面加載完再點(diǎn)下一步。HDC模擬操作沒有眼睛它只管發(fā)指令不管界面是否已經(jīng)響應(yīng)。所以你用HDC做模擬操作時(shí)必須自己負(fù)責(zé)節(jié)奏控制等待、延時(shí)、校驗(yàn)頁面狀態(tài)。這也是新手最常翻車的地方。另一個(gè)區(qū)別是“坐標(biāo)系”。人眼看到的是一個(gè)控件手指點(diǎn)的是控件中間。HDC不知道控件在哪只認(rèn)識屏幕上的像素坐標(biāo)。所以你要先把“我想點(diǎn)那個(gè)按鈕”翻譯成“屏幕橫向第540像素、縱向第1200像素的位置”。這就引出后續(xù)坐標(biāo)獲取和動(dòng)態(tài)計(jì)算的問題。我的結(jié)論是HDC模擬操作是一個(gè)極其好用的“假手指”但它不是“智能大腦”。它勝在輕量、穩(wěn)定、不受應(yīng)用代碼限制適合做流程性、重復(fù)性的操作模擬。如果你需要智能斷言、元素識別、復(fù)雜邏輯應(yīng)該上自動(dòng)化測試框架但那套體系要維護(hù)的東西也多得多。兩者不是替代關(guān)系是互補(bǔ)關(guān)系。2. 搭建環(huán)境HDC下載、連接設(shè)備與版本血淚坑2.1 HDC從哪里來HDC不是系統(tǒng)自帶的命令行工具需要單獨(dú)準(zhǔn)備。最常見的來源有兩個(gè)一個(gè)是安裝DevEco Studio時(shí)隨IDE一起提供的一般在SDK目錄下另一個(gè)是華為開發(fā)者官網(wǎng)提供的Command Line Tools包。我建議開發(fā)機(jī)直接把 hdc 所在路徑加進(jìn)系統(tǒng)環(huán)境變量否則每次都得帶著全路徑敲命令時(shí)間長了非常煩躁。Windows下我記得默認(rèn)路徑類似C:\Program Files\Huawei\DevEco Studio\sdk\default\openharmony\toolchains\hdc.exemacOS下一般是*/sdk/default/openharmony/toolchains/hdc。裝好后在終端里敲hdc -v能看到版本號就說明路徑?jīng)]問題。這里有個(gè)小提醒命令行工具包分不同平臺Windows、macOS、Linux各有對應(yīng)版本別下錯(cuò)。Linux環(huán)境如果提示權(quán)限不足記得先chmod x hdc。2.2 USB連接和設(shè)備發(fā)現(xiàn)有線連接仍然是最可靠的連接方式。首先在鴻蒙手機(jī)上開啟開發(fā)者模式打開“設(shè)置”應(yīng)用進(jìn)入“關(guān)于本機(jī)”或者“關(guān)于手機(jī)”找到HarmonyOS版本號連續(xù)點(diǎn)擊多次直到系統(tǒng)提示“已進(jìn)入開發(fā)者模式”。然后進(jìn)入“開發(fā)者選項(xiàng)”打開“USB調(diào)試”。用數(shù)據(jù)線把設(shè)備和電腦連起來在終端執(zhí)行hdc list targets如果輸出里出現(xiàn)了一串設(shè)備序列號說明連接成功。如果列表為空我一般按這個(gè)順序排查先確認(rèn)數(shù)據(jù)線是不是只能充電不能傳數(shù)據(jù)盡早換一根原裝線或品牌線再檢查開發(fā)者選項(xiàng)里的“USB調(diào)試”是否確實(shí)打開最后看電腦的驅(qū)動(dòng)有沒有識別到設(shè)備。Windows下如果系統(tǒng)提示“未知設(shè)備”需要安裝設(shè)備驅(qū)動(dòng)很多第三方助手工具也能順手裝驅(qū)動(dòng)但注意別裝捆綁軟件。我實(shí)測下來USB連接最隱蔽的坑其實(shí)是鎖屏。設(shè)備息屏鎖著HDC雖然能識別設(shè)備但部分操作會(huì)不響應(yīng)最好在調(diào)試期間把鎖屏方式改為“無”或者“滑動(dòng)解鎖”或者至少在跑模擬操作前手動(dòng)亮屏解鎖一次。2.3 無線連接的兩種姿勢調(diào)試自動(dòng)化時(shí)我不能一直插著線所以無線連接用得越來越多。鴻蒙的HDC無線連接有個(gè)讓我一開始繞暈的地方它有兩種路徑。第一種是先用USB連接電腦在設(shè)備上確認(rèn)無線調(diào)試端口后執(zhí)行hdc tconn 192.168.1.100:5555執(zhí)行成功后可以拔掉USB線后續(xù)命令都走局域網(wǎng)。第二種是設(shè)備已經(jīng)開啟了“無線調(diào)試”選項(xiàng)界面會(huì)顯示一個(gè)IP和端口直接在電腦上執(zhí)行hdc tconn 設(shè)備IP:端口。只要電腦和設(shè)備在同一個(gè)局域網(wǎng)一般都能連上。無線連接有個(gè)前提防火墻別攔著端口。Windows電腦偶爾會(huì)出現(xiàn)connect failed的報(bào)錯(cuò)關(guān)掉第三方防火墻或者加白名單就能解決。另外無線環(huán)境不如USB穩(wěn)定跑長時(shí)間自動(dòng)化時(shí)如果出現(xiàn)掉線可以寫一個(gè)簡單的重連邏輯發(fā)現(xiàn)hdc list targets結(jié)果為空就再執(zhí)行一次hdc tconn。2.4 版本不匹配的坑版本問題是我這次要重點(diǎn)說的。HDC和鴻蒙系統(tǒng)之間有嚴(yán)格的版本適配關(guān)系舊版HDC連新版系統(tǒng)經(jīng)常出現(xiàn)莫名其妙的怪問題。最典型的表現(xiàn)有設(shè)備能識別但hdc shell input tap執(zhí)行后無響應(yīng)。部分命令提示unknown command或者invalid parameter。安裝HAP時(shí)報(bào)錯(cuò)但應(yīng)用在設(shè)備上明明能正常安裝。我之前踩過一次很典型的坑電腦里裝過一個(gè)較老版本的HDC連上一臺新版本的鴻蒙設(shè)備tap命令一直沒反應(yīng)但list targets和shell都正常。折騰很久才意識到是版本問題換成與設(shè)備匹配的新版HDC后立刻恢復(fù)。所以我的建議是盡量從官方渠道下載和鴻蒙系統(tǒng)版本配套的HDC別為了圖方便用歷史遺留的舊版本也別從第三方渠道隨意拿。命令行工具這種基礎(chǔ)組件踩坑成本遠(yuǎn)高于下載成本。3. 模擬操作四大金剛tap、swipe、keyevent、text3.1 tap點(diǎn)坐標(biāo)而不是點(diǎn)控件最基本的模擬點(diǎn)擊命令是這樣hdc shell input tap 540 1200這條命令的含義是在屏幕橫坐標(biāo)540、縱坐標(biāo)1200的位置執(zhí)行一次點(diǎn)擊。坐標(biāo)系以屏幕左上角為原點(diǎn)單位是物理像素。你需要知道目標(biāo)控件在屏幕上的大概位置而不是它的控件ID。獲取坐標(biāo)的方法有很多。最原始但在調(diào)試階段最有效的一種是先用HDC截一張圖然后在圖片工具里查看目標(biāo)位置坐標(biāo)。HDC截圖命令是hdc shell snapshot_display -f /data/local/tmp/screen.png hdc file recv /data/local/tmp/screen.png ./screen.png截圖之后用系統(tǒng)自帶畫圖工具打開鼠標(biāo)放在想點(diǎn)的位置就能看到像素坐標(biāo)。這個(gè)辦法笨但管用。鴻蒙的開發(fā)者選項(xiàng)里也有“指針位置”功能開啟后屏幕上會(huì)實(shí)時(shí)顯示手指觸摸的坐標(biāo)這也是一種輔助獲取坐標(biāo)的方式。值得注意的是tap 命令發(fā)出去之后沒有任何回顯。它不會(huì)告訴你“點(diǎn)擊成功”或“點(diǎn)擊失敗”所以你必須在點(diǎn)擊之后自己驗(yàn)證界面變化。我一般會(huì)在關(guān)鍵操作后用hdc shell snapshot_display再截一張圖對比前后差異。3.2 swipe滑動(dòng)和長按都靠它滑動(dòng)手勢用這條命令hdc shell input swipe x1 y1 x2 y2 duration前四個(gè)參數(shù)是起始點(diǎn)和結(jié)束點(diǎn)的坐標(biāo)最后一個(gè)可選參數(shù)是滑動(dòng)持續(xù)時(shí)間單位毫秒。它不只是用來翻頁拖動(dòng)進(jìn)度條、下拉刷新、長按圖標(biāo)這些手勢都能靠它模擬。舉幾個(gè)我實(shí)際用過的場景模擬下拉刷新從屏幕中間偏上位置滑到偏下位置例如hdc shell input swipe 540 800 540 1800 200。拖動(dòng)滑塊亮度條或者視頻播放進(jìn)度條可以從起點(diǎn)滑塊位置滑到目標(biāo)位置時(shí)間放長到500毫秒以上動(dòng)作更接近真人。長按操作比如長按桌面圖標(biāo)進(jìn)入編輯模式用同一坐標(biāo)作為起點(diǎn)和終點(diǎn)把duration設(shè)置為1000毫秒以上。長按其實(shí)就是swipe的一個(gè)特殊情況這點(diǎn)容易被人忽略。我最早還以為長按需要單獨(dú)的命令后來才發(fā)現(xiàn)只要把起點(diǎn)和終點(diǎn)設(shè)成同一個(gè)點(diǎn)再拉長執(zhí)行時(shí)間即可。3.3 keyevent按鍵也能模擬按鍵模擬的命令格式hdc shell input keyevent 4數(shù)字4代表返回鍵。除了數(shù)字編碼有些HDC版本也支持直接傳按鍵名稱比如hdc shell input keyevent BACK。我用過一段時(shí)間的常用KeyCode整理成表格方便查閱KeyCode含義說明3HOME鍵回到桌面4BACK鍵返回上一級26電源鍵亮屏/息屏切換82菜單鍵打開上下文菜單85播放/暫停多媒體控制87下一曲多媒體控制111ESC鍵退出當(dāng)前操作220亮度調(diào)低部分設(shè)備支持221亮度調(diào)高部分設(shè)備支持keyevent 的用法和真實(shí)按鍵幾乎等價(jià)。比如我想回到桌面再重新進(jìn)入應(yīng)用就可以先hdc shell input keyevent 3再執(zhí)行hdc shell aa start -b 包名 -a Ability名。這種方式比模擬滑動(dòng)手勢更穩(wěn)定因?yàn)椴灰蕾囎鴺?biāo)任何時(shí)候執(zhí)行都會(huì)觸發(fā)系統(tǒng)返回行為。這里提一個(gè)容易踩的坑不同鴻蒙版本對某些按鍵的映射可能存在差異。比如菜單鍵在部分版本上不響應(yīng)音量鍵的KeyCode在不同設(shè)備上也可能不一樣。建議在真機(jī)上先手動(dòng)執(zhí)行一遍確認(rèn)行為符合預(yù)期再寫進(jìn)腳本。3.4 text輸入中文的特殊處理文本輸入命令是這樣的hdc shell input text hello這條命令的核心限制是默認(rèn)只支持ASCII字符不支持中文、日文、韓文等多字節(jié)語言。如果你直接往命令里塞中文大概率會(huì)失敗或者輸入亂碼。另外空格也不能直接傳需要用%s代替比如hdc shell input text hello%sWorld如果確實(shí)需要輸入中文怎么辦我實(shí)踐下來的可行方案有兩個(gè)方向。方向一把要輸入的內(nèi)容放到系統(tǒng)剪貼板然后在輸入框里長按點(diǎn)擊“粘貼”。但HDC本身沒有標(biāo)準(zhǔn)的剪貼板寫入命令所以這個(gè)方案依賴額外工具不是開箱即用。方向二換用支持ADB/HDC輸入中文的第三方輸入法或測試輸入法這類輸入法一般自帶監(jiān)聽通道能把文本通過特殊協(xié)議塞進(jìn)輸入框。文本輸入還有一個(gè)細(xì)節(jié)焦點(diǎn)問題。input text只往當(dāng)前獲得焦點(diǎn)的輸入框發(fā)送內(nèi)容如果界面上沒有輸入框獲得焦點(diǎn)命令執(zhí)行了也白執(zhí)行。所以我在一套操作里會(huì)先點(diǎn)一下目標(biāo)輸入框等一秒再發(fā) text 命令。3.5 獲取真實(shí)坐標(biāo)的輔助手段模擬操作的坐標(biāo)是最容易出問題的地方所以我單獨(dú)說一塊。除了截圖看坐標(biāo)還有兩個(gè)命令很有用hdc shell wm size hdc shell wm density第一條輸出當(dāng)前屏幕的物理分辨率比如Physical size: 1080x2340第二條輸出像素密度比如Physical density: 480。這兩個(gè)值能幫我做坐標(biāo)比例換算。假設(shè)我寫腳本時(shí)用的基準(zhǔn)設(shè)備是1080x2340點(diǎn)擊位置是540x1200現(xiàn)在換到一臺720x1600的設(shè)備簡單按比例縮放就能得到新設(shè)備的點(diǎn)擊坐標(biāo)新x 540 * 720 / 1080 360新y 1200 * 1600 / 2340 ≈ 821這個(gè)比例換算不是絕對精確因?yàn)椴煌钠聊槐壤拖到y(tǒng)欄高度會(huì)影響最終點(diǎn)中的位置但至少能把“完全點(diǎn)歪”變成“大概正確”后續(xù)微調(diào)就快很多。如果有條件還可以嘗試hdc shell uiautomator dump導(dǎo)出當(dāng)前界面的控件樹然后解析XML里每個(gè)控件的bounds屬性從而拿到目標(biāo)控件的中心點(diǎn)坐標(biāo)。不過這類命令在鴻蒙不同版本上的支持程度不一樣有些版本路徑和格式有差異。我一般在開發(fā)調(diào)試階段用截圖和指針位置在寫腳本階段用wm size做動(dòng)態(tài)換算控件樹只在有空的時(shí)候用。4. 組合起來才是真本事還原一個(gè)真實(shí)業(yè)務(wù)場景4.1 場景設(shè)計(jì)與前置準(zhǔn)備前面全是單條命令的拆解但實(shí)際工作里沒人會(huì)只敲一條。我拿一個(gè)真實(shí)場景來說驗(yàn)證一個(gè)鴻蒙應(yīng)用的“登錄-首頁-退出”流程。前置條件有幾個(gè)一是應(yīng)用已經(jīng)安裝到設(shè)備上我一般用hdc install xxx.hap安裝二是有一個(gè)測試賬號注意不要用真實(shí)敏感賬號因?yàn)樽詣?dòng)化腳本里可能會(huì)明文記錄密碼三是設(shè)備保持解鎖狀態(tài)最好關(guān)閉自動(dòng)鎖屏。在執(zhí)行模擬操作之前我會(huì)先手動(dòng)進(jìn)一次應(yīng)用記住登錄頁的幾個(gè)關(guān)鍵坐標(biāo)賬號輸入框坐標(biāo)、密碼輸入框坐標(biāo)、登錄按鈕坐標(biāo)。這次手動(dòng)操作花不了幾分鐘但能省下腳本調(diào)試階段反復(fù)猜測坐標(biāo)的時(shí)間。4.2 完整命令串演一遍下面是這個(gè)場景的完整命令串我用的是bash環(huán)境Windows下可以放進(jìn).bat腳本# 檢查設(shè)備在線 hdc list targets # 安裝應(yīng)用如果已經(jīng)安裝可以跳過 hdc install ./demo.hap # 啟動(dòng)應(yīng)用包名和Ability名根據(jù)實(shí)際替換 hdc shell aa start -b com.example.demo -a MainAbility # 等待應(yīng)用啟動(dòng) sleep 3 # 點(diǎn)擊賬號輸入框 hdc shell input tap 540 1100 # 輸入賬號 hdc shell input text testuser01 # 點(diǎn)擊密碼輸入框 hdc shell input tap 540 1300 # 輸入密碼僅ASCII hdc shell input text Passw0rd # 點(diǎn)擊登錄按鈕 hdc shell input tap 540 1600 # 等待首頁加載 sleep 5 # 模擬返回鍵退出到桌面 hdc shell input keyevent 4這串命令每一步都有注釋核心邏輯就是“點(diǎn)、等、輸入、點(diǎn)”。執(zhí)行完之后我再截一張圖確認(rèn)最終狀態(tài)hdc shell snapshot_display -f /data/local/tmp/result.png hdc file recv /data/local/tmp/result.png ./result.png打開截圖看到首頁元素出現(xiàn)說明整條流程跑通了。如果發(fā)現(xiàn)卡在中間某一步我會(huì)在對應(yīng)步驟前后各加一次截圖快速定位是哪一步?jīng)]生效。4.3 延時(shí)與等待不要裸奔執(zhí)行在上面命令串里我反復(fù)用了sleep這不是隨便寫的而是模擬操作最容易被低估的點(diǎn)。真實(shí)用戶點(diǎn)擊登錄按鈕之后眼睛會(huì)看到加載動(dòng)畫等到頁面跳轉(zhuǎn)完才進(jìn)行下一步。但HDC命令是按順序執(zhí)行的上一秒點(diǎn)完登錄下一秒可能直接發(fā)返回鍵結(jié)果應(yīng)用還沒來得及跳轉(zhuǎn)返回鍵就把應(yīng)用退了。我的經(jīng)驗(yàn)是不同操作之間必須給足緩沖時(shí)間。啟動(dòng)應(yīng)用后至少等3秒頁面跳轉(zhuǎn)至少等3到5秒網(wǎng)絡(luò)請求頻繁的場景建議等更久。更穩(wěn)妥的方式是輪詢。比如想確認(rèn)登錄后的首頁是否出現(xiàn)可以寫一個(gè)循環(huán)每隔1秒查一次當(dāng)前頂層窗口直到出現(xiàn)目標(biāo)頁面或者超時(shí)。例如可以嘗試這樣的思路用hdc shell hidumper -s WindowManager查看當(dāng)前窗口信息在循環(huán)里解析關(guān)鍵字段匹配到目標(biāo)頁面就繼續(xù)超時(shí)就報(bào)錯(cuò)退出。這種方式比固定sleep更可靠但代碼量會(huì)大一些。我個(gè)人的習(xí)慣是腳本前期用固定sleep快速跑通流程流程穩(wěn)定后再把關(guān)鍵節(jié)點(diǎn)改成輪詢等待提高整條自動(dòng)化鏈路的穩(wěn)定性。5. 模擬操作失效時(shí)我的排查鏈路5.1 命令返回錯(cuò)誤碼但沒有具體提示最讓人頭疼的情況是命令執(zhí)行了可是界面紋絲不動(dòng)。這時(shí)候我第一步會(huì)檢查HDC是不是還連著設(shè)備。無線連接偶爾會(huì)悄悄斷開但命令仍然能下發(fā)設(shè)備卻沒響應(yīng)。先跑一下hdc list targets如果輸出為空執(zhí)行hdc tconn 設(shè)備IP:端口重連再跑一次。如果設(shè)備在線接著檢查設(shè)備是不是熄屏了??蓜e笑我至少有兩三次在設(shè)備息屏狀態(tài)下跑自動(dòng)化命令全部“成功”了但屏幕一直是黑的后來才意識到是設(shè)備自動(dòng)鎖屏。檢查方法也很簡單執(zhí)行hdc shell power-shell wakeup讓設(shè)備亮屏然后重新解鎖再跑。這個(gè)問題暴露了模擬操作的盲區(qū)它只會(huì)發(fā)事件不會(huì)等待屏幕狀態(tài)變化所以你在腳本里要主動(dòng)管理亮屏狀態(tài)。5.2 點(diǎn)擊了但界面沒反應(yīng)如果設(shè)備在線、屏幕亮著、命令也執(zhí)行了但頁面沒有預(yù)期變化我一般懷疑三個(gè)原因。第一個(gè)原因是點(diǎn)擊位置被其他元素遮擋。常見的遮擋源是系統(tǒng)彈窗、懸浮球、下拉通知欄。尤其是懸浮球很多設(shè)備開著三指截屏或懸浮導(dǎo)航透明觸控層會(huì)在某些區(qū)域吃掉點(diǎn)擊事件。我調(diào)試時(shí)習(xí)慣把這類輔助功能全部關(guān)掉。第二個(gè)原因是控件實(shí)際響應(yīng)區(qū)域和視覺位置不一致。有些自定義控件、WebView里的元素視覺上在上方實(shí)際可點(diǎn)擊區(qū)域卻在另一個(gè)位置。遇到這種情況我會(huì)用開發(fā)者選項(xiàng)里“指針位置”功能手動(dòng)點(diǎn)一次目標(biāo)看系統(tǒng)上報(bào)的坐標(biāo)是多少再對比HDC里填的坐標(biāo)就知道偏差了多少。第三個(gè)原因是時(shí)序問題。點(diǎn)擊真的發(fā)出去了但當(dāng)時(shí)頁面還在加載目標(biāo)控件還沒渲染出來點(diǎn)擊落在了空白區(qū)域。這種問題很好判斷把點(diǎn)擊前的sleep加長或者改成輪詢等待頁面元素出現(xiàn)而不是等固定秒數(shù)。5.3 坐標(biāo)漂移換個(gè)設(shè)備就偏固定坐標(biāo)的腳本換個(gè)分辨率設(shè)備就跑偏這是坐標(biāo)模擬的天生弱點(diǎn)。前面我提到過用hdc shell wm size做比例換算這里再補(bǔ)充一個(gè)細(xì)節(jié)比例換算對設(shè)備的“可用顯示區(qū)域”很敏感。有些設(shè)備的屏幕比例是19.5:9有些是20:9單單按分辨率等比縮放底部導(dǎo)航欄、狀態(tài)欄的高度占比不一樣導(dǎo)致?lián)Q算后的坐標(biāo)在豎屏頁面上接近正確但頁面偏下部分的按鈕會(huì)發(fā)生明顯偏移。我在項(xiàng)目里給過一條曲線救國的方案先在同一型號設(shè)備上寫死基準(zhǔn)坐標(biāo)用腳本啟動(dòng)時(shí)自動(dòng)讀取當(dāng)前設(shè)備分辨率只對同一比例范圍的設(shè)備做換算如果相差太大干脆用單獨(dú)一套坐標(biāo)配置。5.4 系統(tǒng)限制安全輸入、鎖屏和隱私保護(hù)不是所有操作都能用HDC模擬搞定這一點(diǎn)必須提前知道。鴻蒙和所有主流移動(dòng)操作系統(tǒng)一樣對敏感輸入有保護(hù)機(jī)制。典型例子是鎖屏密碼、支付密碼這類安全輸入框系統(tǒng)會(huì)攔截來自非物理輸入設(shè)備的模擬輸入。我測試過在鎖屏密碼界面用input text輸入數(shù)字事件可以發(fā)出但密碼框根本收不到這是系統(tǒng)層面的安全策略不是命令寫錯(cuò)了。另外一個(gè)容易踩的坑是應(yīng)用自行實(shí)現(xiàn)的“防自動(dòng)化”邏輯。有些金融、風(fēng)控類應(yīng)用會(huì)檢測觸摸事件的來源如果發(fā)現(xiàn)輸入事件不是來自真實(shí)屏幕觸摸會(huì)彈出安全提示或踢出登錄狀態(tài)。遇到這種情況HDC模擬操作就不是合適的工具應(yīng)該考慮使用官方提供的自動(dòng)化測試框架通過系統(tǒng)授權(quán)的方式完成輸入。排查完這些之后我一般會(huì)重新讀一遍自己腳本的每個(gè)動(dòng)作設(shè)備狀態(tài)檢查、亮屏喚醒、屏幕解鎖、點(diǎn)擊、等待、校驗(yàn)。這套鏈路上任何一個(gè)環(huán)節(jié)斷開都可能導(dǎo)致“命令成功但實(shí)際沒操作”。6. 從單條命令到自動(dòng)化腳本把模擬操作變成生產(chǎn)力6.1 用批處理/Shell串起來模擬操作要真正提升效率必須從“手工敲”變成“腳本跑”。最簡單的形式就是Shell腳本把命令串成一串。我在Shell里習(xí)慣先定義一個(gè)公共函數(shù)避免到處重復(fù)function tap() { hdc shell input tap $1 $2 sleep 1 } function type_text() { hdc shell input text $1 sleep 1 } tap 540 1100 type_text testuser01這樣做的價(jià)值有兩個(gè)一是統(tǒng)一處理延時(shí)不會(huì)漏寫sleep二是如果以后命令變了只需要改函數(shù)內(nèi)部不用滿世界找命令。Windows下的.bat腳本也差不多不過語法更受限我建議Windows用戶直接裝一個(gè)Git Bash或者使用Python跨平臺。腳本跑起來之后建議在關(guān)鍵節(jié)點(diǎn)加上日志輸出比如echo [$(date)] 點(diǎn)擊登錄按鈕。自動(dòng)化腳本一旦跑得時(shí)間長沒有日志就完全不知道執(zhí)行到哪一步掛了加日志雖然土但排查效率翻倍。6.2 用Python的subprocess統(tǒng)一管理當(dāng)腳本變得復(fù)雜判斷分支變多Shell腳本就不太好維護(hù)了我一般切到Python。Python的優(yōu)勢是異常處理、數(shù)據(jù)解析、循環(huán)和重試都更好寫。調(diào)用HDC的命令很直接import subprocess import time def hdc(*args): 統(tǒng)一執(zhí)行hdc命令返回stdout文本 result subprocess.run( [hdc, *args], capture_outputTrue, textTrue, encodingutf-8 ) return result.stdout.strip() def tap(x, y): hdc(shell, input, tap, str(x), str(y)) time.sleep(1) def is_device_online(): targets hdc(list, targets) return bool(targets) if not is_device_online(): print(設(shè)備不在線開始重連...) hdc(tconn, 192.168.1.100:5555) time.sleep(2) tap(540, 1100)這個(gè)封裝的好處是以后換命令、加重試都只改函數(shù)不用動(dòng)業(yè)務(wù)流程。我甚至?xí)趖ap函數(shù)里加一個(gè)簡單的重試邏輯點(diǎn)擊后截圖對比前后像素差異判定是否需要再點(diǎn)一次。這種“點(diǎn)擊-截圖-校驗(yàn)”的模式能讓自動(dòng)化腳本穩(wěn)定不少不過實(shí)現(xiàn)復(fù)雜度也高一些適合需要長時(shí)間跑回歸的場景。6.3 結(jié)合控件樹讓坐標(biāo)不再硬編碼如果說HDC模擬操作有什么讓我覺得可惜的那就是純坐標(biāo)驅(qū)動(dòng)太脆UI一變?nèi)馈:髞砦覈L試把它和控件樹結(jié)合起來才算稍微緩解了這個(gè)問題。思路是在執(zhí)行模擬操作前先導(dǎo)出當(dāng)前界面的控件樹XML然后在XML里找到目標(biāo)文本比如“登錄按鈕”讀取它的bounds屬性算出中心點(diǎn)坐標(biāo)再調(diào)用tap。這樣就算按鈕在界面上移動(dòng)了位置只要文本文案不變腳本也能找到新坐標(biāo)。實(shí)現(xiàn)大致是hdc shell uiautomator dump導(dǎo)出的XML可能在不同鴻蒙版本上路徑不同我用的時(shí)候會(huì)先執(zhí)行一次看輸出路徑再用hdc shell cat 對應(yīng)路徑查看內(nèi)容。解析XML用Python的xml.etree.ElementTree或者正則都行。這個(gè)方法不是萬能的有些自繪控件、Canvas渲染的界面不會(huì)暴露標(biāo)準(zhǔn)控件樹那就只能退回坐標(biāo)方案。但它確實(shí)能處理很大一部分常規(guī)按鈕、文本框值得一試。6.4 真實(shí)自動(dòng)化中的幾個(gè)小習(xí)慣最后聊幾個(gè)我在長期實(shí)踐中沉淀下來的習(xí)慣都不是什么高級技巧但能實(shí)實(shí)在在減少踩坑次數(shù)。第一腳本開頭一定要寫設(shè)備與分辨率校驗(yàn)。很多自動(dòng)化跑掛不是用例寫錯(cuò)了而是連接設(shè)備變了或者分辨率變了。先確認(rèn)環(huán)境再開始執(zhí)行能省下一半的排錯(cuò)時(shí)間。第二危險(xiǎn)操作前加日志和確認(rèn)。比如腳本要?jiǎng)h除數(shù)據(jù)、退出登錄、或者執(zhí)行頻率很高的循環(huán)我都會(huì)在日志里打印當(dāng)前執(zhí)行位置必要時(shí)在執(zhí)行前加一個(gè)人工確認(rèn)的交互。第三敏感信息不要硬編碼在腳本里。測試賬號和密碼最好從環(huán)境變量或單獨(dú)的配置文件中讀取腳本本身可以提交到代碼倉庫但敏感信息不要跟著提交。第四每個(gè)關(guān)鍵動(dòng)作后給足等待時(shí)間但也不要為了追求穩(wěn)妥把所有sleep都拉滿。我通常先用3到5秒的sleep跑通流程穩(wěn)定后再逐步減小等待時(shí)間優(yōu)化到“剛好夠用”的程度。第五跑完自動(dòng)化一定要留證據(jù)。至少截一張最終屏幕圖有條件就錄屏。這樣出了問題回看證據(jù)比猜原因高效得多。這些習(xí)慣讓我的HDC模擬操作腳本從“能跑一次”進(jìn)化到“每天跑幾輪也不容易掛”這才是自動(dòng)化真正產(chǎn)生價(jià)值的地方。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
搡老女人老妇女老妇老熟女怎么读| 97视频免费播放| 欧美加勒比| 性感女人网页在线观看视频| 久久久亚洲高清不打码| 美女9118禁| 91jk色拍| 欧美很很操视频| 91宗合网| 久久久久久九九九九-美女久久久久久久-成人AV| 一区AV| 啊啊啊快操我视频| 91爽啪| 黄色AAAAA欧美| 校园春色 亚洲| AV在线资源| 啪啪啪综合网| 日韩成人精品视频自拍| 超碰97人妻| 综合一区二区影视| 99色日| 亚洲天堂电影精品一区| 小情侣高清国产在线视频| 国产精品自拍视频| 四虎免费在线播放| 久久精品高清无码一区| 97天天操| 免费男人的天堂| AV高清一区| 亚洲91极品| 国产小黄片在线免费观看| 日韩无码极品| 成人久久久| 9999久久久久| 大香蕉欧美伊| 大香蕉免| 亚洲淫乱骚妇AV| 中文字幕在线播放2中文字幕在线观看2| 国产精品久久久久中文字幕| 青娱乐福利99| 亚洲欧美国产va在线播放频| 亚洲阿v天堂在线| 97中文热色| 蜜臀va69| 亚洲色图片区| 91夜色| 激情婷婷丁香网| 后入式五六区| 国产青青综合伊人| 亚洲人精品久久久| 97亚洲欧美| 97精品视频在线播放| 伊人久久亚洲中文字幕不卡| 东北操逼| 操逼网站地址| 自拍偷拍2025在线观看 | A片 AV一级在线播放观看免费| 国产在线观看一区二区三区| 中文AV制服乱伦| 久久大| 人妻久久| 中文字幕免费在线观看| 国产精品999aaa| 亚洲男人天堂AV| 日本韩国五十路六十路七十路老熟女作爱视频网站| 综合欧美色图| 操碰97| 亚洲一区中文精品| 激情看片网站| 久久一二三级一一一| 夜夜騷av、一區二區| 欧洲精品一区二区三区| 日韩综合色网| 久久久人妻| 欧洲久久一二线| 好爽视频在线观看视频| 国产一级作爱毛片| 亚洲色图91欧美日韩| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 国产农村妇女精品1区二区| 97色插| 无码人妻一区二区三区免费九色| 91综合色噜噜| 日韩人成网站在线播放| 人妻系列无码专区中文有码| 欧美黑人性猛交91| 日韩精品9区| 97在线/亚洲| 国产高清午夜成人在线观看| 澳门特级毛片免费观看| 亚洲熟妇无码一区二区三区| 久久中文字幕女同性恋一区| 精品九九九九九| 欧洲在线性爱视频| 搡老熟女老女人老熟妇免费视频| 在现视频女上位好爽| 久操在97| 97资源站久久| 国产精品视频麻豆入口| 99999精品视频| 亚洲视频二区| 综合激情二| 国产激情综合五月久久| 青青草精玖玖69精品| 久久黄黄黄| 国产精品亚洲色婷婷久久久| 国产精品 亚洲情色| 人妻喷水| 午夜偷拍久久熟女| 嗯嗯,啊啊,国产精品| 超碰国产精品久| 欧美黄色片AAAAA| 日本一二三高清| 精品一区二区三区18| 国产一级不卡在线观看| 国产不卡片| 亚洲天堂另类| 激情四射五月天| 91 综合 色| 久久久性| 天无日色综合| 欧美丝袜91| 欧美日韩香蕉| 精品福利视频| 亚洲第一视频 欧美风情 日韩| 欧美一级美片在线观看免费| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 色欧美综合| 人妻aa| 国产免费久久精品99re韩国| 久久久精品电影| 免费视频无码| 97视频免费播放| 国产福利影视| 人妻少妇久久| 亚洲欧洲另类| 亚洲色宗合| 黄色视频特级毛片| 综合欧美日本三级| 蜜桃香蕉久草精品在线| 美女刺激久久国产欧美| 男人的天堂网页| 夜夜中出国产| 亚洲国产综合图区中文字幕 | 日韩AV一区二区三区三州三州| 人妻熟女一区二区在线视频| 日韩无码嘿咻黑热久| 国产熟女无套内射| 区一在线观看| 国产一区二区欧美日本| 亚洲第一视频 欧美风情 日韩| 影音先锋视频在线| 性欧美| 欧美刺激色黄片免费看| 97精品视频| 天天日日日射| 亚州AV无码国产精品| 少妇久久久免费| 404操逼福利视频| 性九九九九九九| 久久婷婷综合国际产色怕| 日韩精彩视频| 密桃99999| 操屄日韩| 96久久久久久久| 婷婷色五月激情| 蜜臀久久99精品久久久电影| 美日韩一二三区| 97se综合网| 午夜激情成人在线观看 | 中日韩欧美精品无码AⅤ一区二区| 国产精品久久久999| 熟女视频久久| 久久大黄片| 亚洲日韩久久精品一区| 老熟女91av| 老熟妇一区二区三区…| 无码人妻1727| 91网18| 日韩一级欧美一级在线观看| 亚洲国产一级黄色视频| 骚妻少妇精品性色无码四色A V| 96AV精品| 亚洲精品一区二区精华| 国产精品高潮久久久无码| 中文字幕日韩精品一区二区三区| 色99在线| 国产精品原创巨作?v网站| 日本一二三免费久久| 96爱综合| 欧洲中文字幕| AV九九| 久久国产免费激情视频| 777超碰| 日韩亚洲97| 日韩中字av一区| 青草av在线| 国产日韩无码一区二区三区久久区| 国产剧情AV不卡在线观看| 97天天操| 久久男人| 97操B| 日韩专区久久久| 大香蕉在线86| 欧美页片| 99热免费精品| 免费观看有码高清视频| 99久久久99久久91熟女| 国产极品一区二区三区三州| J?P?NESEHD熟女熟妇伦| 亚洲综合在线第一页| 中国黄色特级精品一区二区三区片| 久久久艹艹艹| 久久超碰爱| 五月婷婷性爱| 蜜桃臀av在线观看| 婷婷成人久久久精品| 99爱精品| 精品一区二区三区蜜桃臀赵总 | 中国的操老妇女| 欧美美女在线高潮999| 亚洲。日韩。欧美| 超碰1997| 91欧美巨乳| 9997se| 男人的天堂日本东京热| 桃色人妻在线视频| 超碰社区97| 国产自啪精品视频网站黑丝| 少妇人妻在线| 99re这里只有精品2| 超碰这里只有精品| 国产成人啪一区二区| 熟妇无码视频三区| 97天天| 视频不卡中文字幕| 国产真乱mangent| 热无码中文亚洲H一道本一区二区| 丁香婷婷五月| 亚洲成人日韩小说| 丁香五月偷拍| 天天爽天天爽| 麻豆福利视频导航| 中文字幕在线2| 99热线麻豆 | 亚洲码专区| 亚洲精品日日夜夜52| 天天躁日日躁AAAXX| 日本三级中国三级99人妇网站| 996热| 色五月婷婷网| 日韩少妇丰满亚洲| 在线天堂999| 精品无码久久久久| 人妻少妇精品视频一区二区三区| 青青青国产手线观看视频2| 欧美Aⅴ| 亚欧视频在线| 丁香五月天激情| 欧美无圣光在线| 久久视频,这里只有精品| 人妻天堂网| 9精品久久久久| 高潮9999外国| 青青操网| 69人妻精品一区二区绯色| 久久久不能久久久久| 国产精品高潮久久AV| 2017天天操天天日| 久久久久久久久久久免费精品| 日韩成人免费电影| 干B| 日韩少妇无码| 大香蕉丝袜一级片| 色综合超碰超| 13小男生GAY自慰脱裤子| 激情五月天社区| 日韩国产十八禁| 97在线免费公开视频| 99亚洲国产精品色一区二区三区| 日韩AV无码中文一区二区| 精品国产乱码久久久久久影片| wuyechaopeng| 人妻啪| 骚货人妻偷情自拍在线视频| 97精品视频在线| 亚洲精品久久久久毛片A片拉屎 | 色噜噜人妻av中文字幕| 国产黄色剧情影片麻豆免费播放| 色婷婷影院| 欧美成人精品一区二区男人蜜臀| 岛国黄色大片网站| 精品无码一区二区三区| 九色婷婷| AVE乱伦| 久久婷婷国产一区二区色| 夜夜欧美| 亚洲最大黄网| 午夜操逼不卡| s片在线观看| 日本性爰一道本| 性爱AV天堂| 国产成人亚洲精品无码古代早漏男| 日韩国产十八禁| 中国少妇XXXX做受| 久久久精品中文字幕麻豆| 久久久久国产精品喷潮免费观看臀 | 亚洲熟妇无码一区二区三区| 精品国产人成在线| 嫩草91| 懂色AV蜜臀无码精品APP | 成人一道本免费视频| 秋霞午夜视频一区二区| 欧美亚洲日本激情在线| 欧美亚洲手机在线| 97色涩| 国产操逼逼网| 久久岛国| 日本啊啊啊啊啊视频| 亚洲字幕一区二区| 九九九国产| 岛国小电影| 欧美性爱1080p| 日本国产二线女色| 一区黄二区黄| 丰满高潮18xxxx| 97碰碰色| 天天舔天天日天天射| 婷婷五月天成人网| 亚州操逼图| 精品无码少妇| 97精品综合久久网| 淮穴色AV| 国产九九九九九九九九| 国产精品久久久久久亚洲色欲| 99热18这里只有精品| 日韩另类色图| 97福利视频| 亚洲伊人a线观看视频| 麻豆一区二区AV天美| 嗯阿好爽好紧| 9 9精品一区二区三区| 九九精品无码专区免费| 伊人网高清| 久久伊人青青草| 免费观看欧美日韩操逼视频| 日韩一性一交一A片俄罗斯| 午夜在线播放| 一区=区三区视频| 久久成人网站| 日逼视频日本| 26uuu最新| 中文操逼字幕| 国产精品黑人一区二区三区| 亚洲精品自拍| 在线免费观看日韩一区| 黑人操一区二区| 亚洲人妻在线一区| 久热大香蕉| 超碰99在线| 激情四射婷婷四五月天| 91久久堂| 搡老女人911熟妇老熟女| 国产在线视频午夜精华在| 操碰97| 中文精品一区二去| 亚洲不卡不卡中文字幕不卡 | 亚洲麻豆18发?| 色成人Www精品永久观看| 丁香五月久久| 激情视频一二三| 九九操久久国产免费视频| 伊人操你| 后入综合久久| 久久春色| 国产夜夜艹| 国产精品国产亚洲区艳妇糸列| 久久婷婷色综合一区二区三区| 欧美不在线| 爱欲AV| 日韩精品 视频一区二区| 成人在线午夜视频一区| 这里都是精品在线观看| 久久久无码视频| 91麻豆天美传媒HD| 欧美日韩操逼嗦吊| 九色视频91| 国产黄色影片在线观看| 怡红院成人av| 超碰亚洲欧美日韩无| 老熟女乱子伦中文字幕一区二区| 伊人国产AV| 欧美精品双插| 97超碰国产精品| 国内毛片国产专区二| a级免费在线观看| 人人妻人人色| 国产精品国产自产拍高清AV| 人妻熟女av国产网站| 日韩欧美国产一区二区三区四区| 一二三区视频在线观看| 精品超碰国产| 国产性爱在线视频一区二区| 蜜臀久久99精品久久久电影| 五月丁香激情四射| 亚州一区二区成人片免费| 俞拍久久国应视频| 亚州欧美在线| 精品久久久久久中文字幕三区| 人妻丰满熟妇av无码区蜜桃| 午夜后入| 98福利在线视频| 好看的91视频| 亚熟在线| 青青青艹在线视频| 99www.bibizy香蕉资源国产一区二区三区高清 | 久久超碰免费的| 成 人 影视 一区 二区 三区 四区 | 在线播放中文字幕| 欧美一级黄色18片免费看| 凹凸久久人人| 欧美劲爆视频一区二区| 日韩午夜啪啪视频| 色婷婷视频| 国产色精品午夜大片| 青草精品视频一日本久久久久网站| 国产伦精品一区二区三区视频女| 一级乱伦网站| 国模不卡| 超碰人妻久久人妻中文97| 91黑丝操| 岛国片国产成人亚洲播放| 国产三级在线现体验区| 欧美色狠| 天美精品av| 国产精彩女在线观看视频| 国产精品久久久久久 百度| 欧美一区二区三区另类精品| 嗯嗯不要 视频| 久插综合| 亚洲中文字幕妇伦久久| 91国产精品在线看| 激情综合五月婷婷| 性爱av网站| AV污污污污| 黄片色区软件| 久操网视频| 亚欧性爱无码| 18禁免费视频| 国产精品视频白浆免费| 亚洲av影音先锋| 午夜国产成人福利视频| 亚洲操操操| 国产精品对白内射| 加勒比海成人视频网| 天天综合网~91综合网| 中文字幕免费在线观看| 蜜臀视频网站| 国产精品无码久久久久2028| av片在线观看免费播放| 亚洲美女精品| 精品九九九九九九九| 欧美日韩另类字幕中文| 超碰97导航| 俞拍久久国应视频| 人人操人人肉久久精品| 国产一级不卡在线观看| 丁香九月激情啪| WWW黄片COM| 国产女上位好爽在线| AV天堂丝袜| 精品人妻15区| 国产一进一出视频网站| 桃花色涩综合影院| 欧美性五月| 黑人操一区二区| 日韩精品作爱导航| 韩国一级婬片A片无码天美| 国产av高清版| 春色综合网| 99热| 亚洲天天在线| 色一射色一射| 青春草莓视频在线观看网址| 99综合网| 色妇综合网| 七久久久| 国产成人亚洲精品无| 97精品国产97久久久久久免费| 四虎免费在线播放| 久久九九99| 在线看污网站| 亚洲男人bt天堂| 91精品91久久久久77777俄罗斯老妇姓x| 久久鲁干| 久久久久久999| 91久久精品国产| 亚洲高清91| a久久| 精品一区二区三区国产 | 性爱乱伦网址| 99精品九九九九九九| 懂色综合久久久| 日日摸天天爽夜夜欢| 无码国产精品久久久久| 超碰综合色| 国模精品娜娜一二三区| 高清有码一区二区| 大香蕉日亚洲日本亚大| 日韩不卡av一二三| 深夜国产福利| 成人精品欧洲亚洲| 无码视频黄色网战| 色阁阁AV综合网| 欧美日韩性爱电影在线| 精品乱子一区二区三区99| 免费操逼视频下载| 囯产操逼片| 亚洲欧美综合网| 亚洲综合图文| 国产精品色色| 成人AV在线电影| 日本高清_区二区三区| 亚洲一区中文精品| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 四虎午夜影院| 96久久久久| 国产性爱欧美性爱在线| 日han少妇无码| 国产精品交换一区二区| 国产精品无码av| 日韩色| 免费视频一二三区| 国产精品在线免费| 色九九久九九| 91爱啪| 2020天天色综合| 91视频综合在线| 97超碰超欧美。| 久久久精品无码亚免费| AAAA欧美日韩| 最新岛国大片| 俺去俺来也在线www| 中文字幕78| 久久久久久99AV无码免费网站| 亚洲欧美清纯| 亚洲性天堂| 97国产精品| 试看日韩黄片| 久久精品国产亚洲AV无码电影| 日韩性爱1级片视频| 黄片免费久久久久久久| 国产九九九九九九九九| 久久久久9999| 久久天天摸| 少妇三P| 国产风韵犹存熟妇三区| 佐山爱中文字幕| 99爱爱| 玖草在线视频| 免費黃色視頻觀看一| 骚乳在线| 女优大全 - 91n| a一区二区三区乱码在线| 把腿张开老子CAO烂你| 婷婷香蕉| 精彩国产视频播放1区2区| av资源在线观看少妇| 日韩成人色图| 男人天堂久久精品不卡| 中文字幕日韩电影人妻| 中文字幕黑人大片| 亚洲精品九九九九九九| 久久肏大逼| 啊啊啊啊在线观看网址| 玖玖爱在线视频免费观看| 午夜精品一区二区三区三上悠亚| 久久久三区二区一区| 久操不卡视频| 成人婷婷丁香| 欧美色棕合| 国产精品三级视频网站| 欧美日韩另类字幕中文| 国产一区二区三区久久久精品| 91美女在线精品视频| 伊人网高清| 九九九九久久久| 日韩欧美麻豆 | 人人操人人色人人摸| 看日韩美女二区三区免费操逼视频| 九久久九九久视频| 狠狠 91| 白丝AV| 亚洲激情网一二三四区| 无码人妻精品酒店| 久久超碰、| 尤物视频一区| 欧美伦乱| 国产农村妇女精品一| 最新日日夜夜天天干干| 久久亚洲天堂| 色妇综合网| 欧美日韩第一页| www.人人摸在线视频| 狠狠色综合网| 日本熟女不卡视频| 欧美日韩美女精品久草一区二区三区 | 欧美激情色婷婷花野真衣一区二区| 亚欧毛片基地国产毛片基地| 欧美亚洲se91| 9999久久久久| 国产夫妻一区二区| 国产精品96久久久久久| 999久久芭蕾| 久/久精品99看9| 第四色奇米影视777| 婷婷色导航| 欧美牲| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 91爱啪| 91N综合在线| 天天做天天爽| 91成人久久| 极品销魂美女一区二区| 蜜臀va69| 蜜桃午夜视频一区二区 | 夜夜嗨免费视频| 亚洲aw毛茸茸在线| 九九热免费视频| 黄页视频网站野外| 八戒无码国产午夜福利| 玖玖综合网| 网友自拍第1页| 午夜天堂网| 欧美亚洲20p| 暖暖精品二区三区观看| 射欧美综合| 欧美日韩少妇色情| 欧美性天天影院| 69久久| 嗯嗯不要视频| 综合影院永久入口国产| 九九视频黄色片| 神马久久久久久伦理片| 五月婷婷爱六月丁香色| 九九热最新| 91色图片| 欧美亚洲特P| 91欧洲国产成人久久精品网站| 激情天天视频| 极品极品色影院| 东北夫妻性偷拍| 久久久久国产| 狠狠操使劲操| 久久久久国产精品喷潮免费观看臀 | 啪啪自拍九九综合| 香蕉黄色一级视频| 五月激情影院| 日本黄色裸日本黄色裸体 | 啊啊啊免费视频| 飘花国产午夜精品不卡| 欧亚性爱视频免费看| 日本三级小说中文字幕| 久久久99免费| www.av在线视频| 天天看少妇| 中文字幕97| 大香蕉伊利av| 啊啊啊啊啊啊啊国| 久久久天堂| 日韩无码a片| 九九九九九九亚洲| 欧美国产操逼| 嗯嗯啊啊好爽| 丁香色婷婷| 中文幕97| 三久久久四久久久久| 男人的天堂VA| 日韩精品中文字幕人妻| 99综合| 亚洲天堂美臀在线| 亚洲影院成人| 精品国产少妇高潮视频| 日韩欧美~中文字| 日韩av电影成人在线| www.色婷婷.com| 东京热伊久| 亚洲无码成人精品| 丰满欧美少妇| 久久婷婷成人综合色怡春院| 澳门特级毛片免费观看| 97国产色图| 中文字幕一区二区三区高清| AV天堂电影网| 试看日韩黄片| 蜜臀精品1区2区| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 国产高清午夜成人在线观看| 福利在线黄片| 91熟女视频网| 国产精品久久久久综合| 在线小说视频一区| 激情AV| 少妇天堂| 欧美五区| 亚洲情色中文字幕一区| 伊人久久亚洲中文字幕不卡| 另类小色呦| 久久香蕉国产线看观看亚洲女人| 婷婷AV一区二区三区| 精品免费囯产一区二区三区| 艹我哪美一区无码| 黄色AAAAA欧美| 啊啊啊久久| 久久久99999久网站| 国产黄色视频久久| 操b网站亚洲无码| 在线无码操| 亚洲在线a| 亚洲欧洲日产国产综合网| 婷婷中文网| 欧美色图色综合| 清清草影| 日韩草久视频| 人妻精品一区二区在线| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 无码视频黄色网战| 日日夜夜精品视频| 春色综合免费| 热天堂一区二区| 久久婷婷五月综合| 天天色综亚洲91污| 日韩高清黄片| 国产精品3| 亚洲天堂第一页| 97色爱| 在线观看A啊啊啊| 欧美日韩人人精品| 蜜臀99999| 夜夜爽妓女| 激情99| 91九色精品熟女内射| 四虎影院成年人片| 亚洲成人久久美女| 久久香蕉国产线看观看猫咪av| 超碰78| 搡老女人老91妇女老熟女| 青青草日韩免费观看高清在线| 91N五十路| 日韩三级一区| 狠狠操天天干| 色婷婷电影网| 九九热免费视频| 激情五月婷婷综合| 中文字幕在在线观看网站| 五月激情综合网| 91蜜臀在线久久久久| 中 文字幕一区二区三四 五 区日 日 骚 | 天天操天天日天天干| 亚州熟妇精品| 欧美 亚洲 第一页| jizzjizz欧美| 国产女上位好爽在线| 尤物视频偷拍免费| 97超碰色| 在线观看综合精品亚洲| 中文字日本乱码| 欧美手机在线综合| 无码精品久久| 丁香五月影院| 91老妇女| 嗯啊抽插大香蕉网页| 亚洲s在线观看| 青青草原成人| 嗯啊抽插大香蕉网页| 亚洲天天艹| 97干在线视频| 簧片免费看视频| 亚州高清色综合| 亚洲人成网站7777| 精精夜夜| 亚洲欧美日韩偷拍色图| 在线 制服丝袜中出 人妻| 人妻超碰青青草98| 亚洲最新中文字幕免费| 亚洲色图加勒比| 亚洲视频中文一区| 男人天堂2019亚洲| 亚洲视频一二区| 啊啊啊啊啊啊在线| 99无码精品| 91另类| 欧美精品成人亚洲| 亚洲色欧美| 一区久久久二区| yaouchengrenav| 97色爱| 91在线视频免费播放| 亚洲电影91| 91色久| 久久久久九九九| 97日视频| 免费中文在线| 午夜αv| 亚洲男人的天堂在线看| α√在线| 久久久精品网站| 久久夜精品一区二区三区| www.av在线观看| 久操视频在线观看| 日本高清熟女久久一区| 中文字幕在线观看视频www| 欧美不卡五十路| 亚欧洲一区二区视频| 韩国一级做A片免费的| 蜜桃久久久久久久| 欧美一级久久久久久久大片动画 | 天天操天天日天天干| 亚洲图片视频小说| 5月婷婷6月六月丁香| 欧美日韩久久精品爱爱| 超碰99热中文字幕| 福利在线黄片| av天堂精品久久| 91人妻丝袜无码| 视频一区二区免费在线| 久久国产逼| 东京热男人的天堂| 91黑人无码激情在线| 色原狠狠天天天| 色好看av| av天堂影视中文在字幕在线中文| 先锋激情∨在线视频播放| 伊人网高清| 国产丁香精品露脸视频| 亚洲色入欧美| 欧美性爱一区二区三区四区| 97视频观看| 六月色婷婷| 五月香婷婷| www.夜夜操| 99碰碰| 亚洲成人在线播放| 黄片不用下载在线观看| 黄色大香焦1级‘′‘| 男人a天堂手机在线版| 九月丁香婷婷色| 操逼片中文| 人人摸人人叼| 337p大胆噜噜噜噜噜91Av| 自偷自拍的亚洲视频| 99久久网站| 国产精品久久久亚洲一区| 久久久久久亚洲精品不卡人乳| av天天在线观看| 中文字幕91综合| 欧美暴力猛交| 日本不卡免费二区| 加勒比综合88| 欧美一级美片在线观看免费| 激情无码日韩| 秋霞一级视频在线观看免费| 一区二区三区蜜桃成人撸久久东京热| 亚洲清纯综合| av天堂加勒比| 国产精品午夜福利亚洲综合网| 日本欧美韩国国产在线| 国产伦乱91| 女同性恋一区二区三区精品视频| 素颜老阿姨乱情色| 超碰97男女| 极品综合| 97色伦欧美| 日韩熟女乱伦中出| 91欧美美女日韩国产婷婷| 国产精品青草综合久久| 欧美视频一| 十八禁一区二区无码观看| 日本黄 R色 成 人网站| 岛国毛片手机在线观看| 欧美日日人人天天| 九月丁香| 亚洲色图A| 偷窥自拍亚洲天堂网爆| 九九av| 放黄片放3级黄片没穿衣服| 青娱乐国产精品| 久久久久骚| 亚洲97精品| 国产av激情无码久久天堂| 91九色在线| 久久久91| 亚洲中文国际强奸字幕| 91精品久久久久久77777| 操B久久| 亚州色综合| 啪啪AV导航| 无码高清操逼网址| 成年无码动漫av片无尽在线 | 白嫩嫩一区| 25国产精品免费观看| 激情网五月天| 超碰在线一区二区三区| 97九色人妻| 翔田千里爆乳巨臀无码| 国产嫩草精品A88AV在线| 久久久久久69国产一区二区| 久久久久久久久久久久欧美日| 韩国黄片aaaa| 亚洲美女黄色| 97干在线| 综合伊人网12色| 久久99草| 99自拍视频在线| 熟女网站最新| 黑人白女精品一区| 内射中国少妇高清视频免费视频 | 色哟哟 日韩精品| 亚洲熟妇图片| 内射小黄片| 亚洲图片欧美另类综合免费视频大大香| 国产久久av| 欧美日韩亚洲天堂| 第四色色综合91| 日本操逼二区| 久 久无码人妻AV| 亚洲揄拍网| 久久久久久AⅤ无码免费肉站| 日夜伊人网| 亚洲中文电影| 91人妻爽爽人人做人人澡| 性爱网站一区二区| 天天干夜夜操一区二区| 伊人影院在线理论播放 | 四虎AV影视国产精品亚洲精品| 手机在线A片| 久久久97| 亚洲男人天堂网站| 91激情综合| 熟女在线视频| 99爱爱| 国产欧美岛国精品一区| 天天干天天操天天操夜夜操天天操 | 中文字暮97| 性做久久久久久免费观看软件| 操逼无码操逼| 午夜一区| 国产传媒av天美传媒在线| 国产成人啪一区二区| 好吊色一区| 中文字幕视频2区| 日韩人妻少妇 一区二区三区| 亚洲精品a人片在线观看视| 国产精品一区二区手机看片| 人妻少妇精品视频一区二区三区| 欧美视频一区二区三区| 青青草女人天天干| 九久久精品| 午夜操操操| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 婷婷久草一区二区三区| 亚洲中文字母在线播放| WWW黄片COM| 操逼逼无码| 99ri视频| 天天看片天天爽| 你草精品在线视频| 视频二区熟女人妻| 日本加勒比无码专区一二三| 欧美偷| 午夜精品久久99蜜桃的功能章节| 超碰97护士| 四虎国产精品永久在线囯在线| 精品亚洲一区在线观看| 家庭乱伦性爱av| 午夜男女爽爽爽在线视频| 免费综合亚洲中文| 中文字幕在线观看第二页| 91伊人大香蕉| 日本道人妻久久久在线不卡色视频| 久热这里只有精品9| 大香蕉免费3| 久久精品国产72国产精品福利| 精品无码少妇| 亚洲欧美大| 黄网在线播放| 久操视频免费在线观看| 无码男人天堂| 欧美亚洲丝袜人妻制服中文99| 亚洲伊人久久综合97| 亚洲天堂7777| 亚洲欧洲小说图片视频 | 亚洲综合九九| 国产大陆天天艹| 日本欧美成人片AAAA| 97久久久精品| 亚洲图片欧美色| 91三级理论片播放器| 91在线美女| 久区视频| 日本日逼高清| 大鸡吧尹人在线| 国产精品禁久久久精品| 乱伦熟女专区| 91久久久久久| 久久久精品久久| 成人无码在线视频网站| 99在线免费视频| 加勒比性爱成人在线| 欧美岛国精品在线观看| 五月天激情国产综合婷婷婷| 青青草久久在线| 欧美日韩插逼视频| 日日干日日| 天天影视综合色| 欧美日韩国产中文精品字幕自在自线| 精品久久久av| 九月伊人中文字幕| 人妻人人操| 欧美高潮| 久久久亚洲高清不打码| 久久綜合很很很| 亚洲综合欧美| 久久久爆乳翘臀一线天伦理视频| 激情文学小说一区二区| 国产熟女完整版中字| 大香蕉伊人在线成人AV在线观看| 骚女天天综合网| 婷婷99狠狠躁天天躁| 国产黑白丝在线| 无码乱人伦中文视频| 亚洲综合射| 性爱视频无打码在线观看| 久久亚州高清| 久热影视| 丰满精品人妻少妇久久字幕| 欧美日韩大香蕉| 国产熟女一区二区丰满| A级片一区| 男人天堂久久日韩| 国产精品不卡一区二区电影| 色女综合| 51久久夜色精品国产麻豆| yazhousetuoumei| 成 人 A V免费视频在线观看| 日韩97视频!在线| 欧美精品精品一区二区| 在线综合 亚洲 欧美中文字幕 | 国产99 中文字幕日韩小视频| 欧美精品,四区。五区| 玖玖爱免费观看视频| 欧美色图小说综合 | 女人香蕉久久毛毛片精品| 99性视频| 天美91| 男人的天堂2018东京热啪啪啪| 超碰色综合| 黄色不卡视频| 日韩视频啪啪| 日韩无码第3页| 大鸡吧尹人在线| 51久久夜色精品国产麻豆| 国产视频小说| 色情综合网| 91福利网在线观看| 中文字幕AV片| 性爱av在线免费观看| 九久9精品| 人妻无码后入| 人人操人人大香蕉| 91麻豆天美传媒在线| 欧美一区二区情色| 天天视频综合在线观看视频| sewuyueav| 97在线欧洲| 日本精品第一视频在'| 91精品网站| 蜜臀久久99精品久久久久免费观| 国产精品自拍xxxx| 91精品国产91熟女| 天天弄欧美| 欧美网站免费| 天天草天天日| 99热日| 国产按摩一区二区三区| 欧美日韩色综合网| 96国产精品| 五月婷婷hd| 九九黄色网| 草莓精品视频在线免费观看| 精品人妻久久久| 91色图片| 99性视频| 国产一区二区精品久久99| 九久精品| 综合久久99亚洲人妻中文在线| 狠狠久久亚洲欧美专区| 少妇xx精品| 日韩欧美亚洲自拍偷拍| 精品无码一区二区三区| 亚洲棕合电彰| 99啪啪| 郑州宾馆老熟女露脸啪啪| 欧美性爽xyxOOOO| 日本不卡中文| 色网在线| 99爱久久视频频| 99热超碰在线| 亚洲少妇综合在线播放| 国产日韩精品suv| 大鸡巴久久| 亚欧洲一区二区视频| www.一本大99| 日韩pv中文| 日本欧美国内在线| 日韩性爱毛片操骚逼| 三上悠亚在线毛片91| 亚洲资源吧| 九一国产精品| 大肉棒导航| 老熟女熟妇| 久久日韩毛| 亚 欧 美 综合| 大香蕉九九| 亚洲乱熟女一区二区三区大香蕉| 亚洲欧美自拍偷拍| 超清福利精品视频在线| 探花精品 一区二区| 97超碰9| 无码粉嫩白虎一线天b区| com 首页 18岁 禁区 女优 免费 精选 同城 | 日本福利二区视频| 亚洲国产午夜真人一级片中文字幕精品黄网站| 国产家庭乱伦表演| 91精品国产91综合久久蜜臀| 友优传媒精品在线一区二区| 97在线/亚洲| 色97欧美| 91色欧美| 欧美日韩亚洲天堂| 亚洲视频精选| 欧美天天干| 欧美色乱| 91激情| 岛国爱情动作片在国产AV无码专区亚洲AV漫画 | 吖在线不卡一区二区国产剧情| 国产二区三区免费视频| 日本一区二区三区免费观看| 午夜福利国产欧美日韩夜夜| 日本黄色精品专区网站| 亚洲无码超碰免费| 九九精品无码专区免费| 高清国产成人无码| 欧美精品xxxwww| 殴美在线AⅤ| 精品一二三区久久AAA片| 婷婷五月天影院| 亚洲国产第一页综合视频| 亚洲 欧美 中文 日韩超碰| 精品大久久|