色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

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

真機(jī)與模擬器自動(dòng)化測(cè)試協(xié)同方案:從設(shè)備池到用例分層的實(shí)踐指南

真機(jī)與模擬器自動(dòng)化測(cè)試協(xié)同方案:從設(shè)備池到用例分層的實(shí)踐指南 做自動(dòng)化測(cè)試的年頭久了你會(huì)發(fā)現(xiàn)一個(gè)繞不開(kāi)的話題真機(jī)和模擬器到底選哪個(gè)。早幾年我還在為這個(gè)問(wèn)題站隊(duì)后來(lái)被現(xiàn)實(shí)教育了一輪才明白真正該做的不是二選一而是讓它們各干各擅長(zhǎng)的事通過(guò)一套調(diào)度邏輯協(xié)同起來(lái)。這篇內(nèi)容想分享的就是這套“真機(jī)與模擬器自動(dòng)化測(cè)試協(xié)同方案”包括設(shè)備池怎么搭、用例怎么寫(xiě)才能兩頭跑、小程序這類(lèi)特殊場(chǎng)景怎么處理以及我在實(shí)際項(xiàng)目中踩過(guò)的一些坑。這套方案解決的核心問(wèn)題很直接模擬器快但“假”真機(jī)真但“慢”。如果能把功能驗(yàn)證、冒煙回歸放在模擬器上快速跑把地圖、支付、推送、弱網(wǎng)這些依賴真實(shí)硬件和真實(shí)網(wǎng)絡(luò)的場(chǎng)景放到真機(jī)上兜底整體效率能提升一大截穩(wěn)定性也不會(huì)被犧牲。適合正在搭自動(dòng)化測(cè)試平臺(tái)的中小團(tuán)隊(duì)、剛接手客戶端測(cè)試框架的測(cè)試開(kāi)發(fā)以及被“用例只能在某臺(tái)設(shè)備上跑”困擾的同學(xué)們參考。1. 為什么必須協(xié)同真機(jī)與模擬器誰(shuí)也替不了誰(shuí)1.1 模擬器的優(yōu)勢(shì)與邊界條件模擬器的優(yōu)勢(shì)做過(guò)自動(dòng)化的人都懂創(chuàng)建快、銷(xiāo)毀快、快照隨便打、系統(tǒng)版本隨便切。一臺(tái)普通的辦公電腦開(kāi)三四個(gè)Android模擬器實(shí)例并行跑用例完全沒(méi)壓力。而且模擬器的環(huán)境是“一次性”的跑廢了直接重置不用像真機(jī)那樣擔(dān)心數(shù)據(jù)污染、賬號(hào)狀態(tài)殘留。對(duì)于純UI流程的冒煙測(cè)試、頁(yè)面跳轉(zhuǎn)邏輯、表單校驗(yàn)這類(lèi)用例模擬器幾乎是完美的執(zhí)行環(huán)境。但它的邊界也很明顯。首先是硬件能力缺失GPS信號(hào)、陀螺儀、指紋、NFC、攝像頭這些傳感器模擬器要么模擬得很假要么壓根不支持。舉個(gè)例子你測(cè)一個(gè)掃碼登錄功能在模擬器里折騰半天攝像頭調(diào)用結(jié)果真機(jī)上跟模擬器完全是兩套邏輯這就不叫自動(dòng)化測(cè)試叫自欺欺人。其次是網(wǎng)絡(luò)環(huán)境太“干凈”。模擬器走的是宿主機(jī)的網(wǎng)絡(luò)延遲低、抖動(dòng)小弱網(wǎng)、斷網(wǎng)重連、DNS異常這些場(chǎng)景根本復(fù)現(xiàn)不出來(lái)。再有就是部分系統(tǒng)級(jí)行為比如系統(tǒng)升級(jí)彈窗、應(yīng)用推送通知、來(lái)電打斷模擬器里的表現(xiàn)和真機(jī)差距很大。最典型的就是微信小程序開(kāi)發(fā)者工具里直接跑地圖類(lèi)API會(huì)直接給你報(bào)“movetomaplocation:fail 開(kāi)發(fā)者工具暫時(shí)不支持此api調(diào)試請(qǐng)使用真機(jī)”。這類(lèi)問(wèn)題不是代碼寫(xiě)錯(cuò)了而是工具的能力邊界你再怎么配環(huán)境都沒(méi)用必須上真機(jī)。1.2 真機(jī)不可替代的使用場(chǎng)景真機(jī)的價(jià)值一句話就能說(shuō)明白用戶手里拿的是什么你就在什么上面測(cè)。地圖和定位是最典型的一類(lèi)。開(kāi)發(fā)者工具和模擬器對(duì)地圖API的支持都有限但真機(jī)上只要授權(quán)定位權(quán)限GPS、基站、Wi-Fi定位都能真實(shí)觸發(fā)你才能驗(yàn)證“用戶從A點(diǎn)走到B點(diǎn)頁(yè)面上的距離和路線是否正確更新”這種基礎(chǔ)但關(guān)鍵的功能。支付也是同理。微信支付、支付寶支付這類(lèi)場(chǎng)景模擬器里要么直接不支持要么走的是一套特殊調(diào)試邏輯和真實(shí)收銀臺(tái)、真實(shí)回調(diào)完全不一樣必須真機(jī)過(guò)一遍。推送和消息通知是我踩過(guò)坑的地方。模擬器上推送消息設(shè)置了就顯示感覺(jué)一切正常。結(jié)果一到真機(jī)上廠商推送通道、App進(jìn)程被殺后的離線消息、通知欄點(diǎn)擊跳轉(zhuǎn)這些邏輯全出來(lái)了。我記得有一次版本上線前安卓真機(jī)上是能收到推送的但iOS上收不到排查到最后才發(fā)現(xiàn)是證書(shū)環(huán)境配錯(cuò)了。這類(lèi)問(wèn)題如果只靠模擬器永遠(yuǎn)暴露不了。還有一個(gè)容易忽略的點(diǎn)性能和功耗。模擬器用的是宿主機(jī)資源CPU和內(nèi)存都比你真實(shí)手機(jī)強(qiáng)太多頁(yè)面上一個(gè)列表滾動(dòng)卡不卡、冷啟動(dòng)要幾秒在模擬器里測(cè)出來(lái)完全沒(méi)有參考意義。想要做啟動(dòng)耗時(shí)、幀率、內(nèi)存占用、耗電這類(lèi)的性能測(cè)試?yán)侠蠈?shí)實(shí)用真機(jī)而且最好是中低端真機(jī)才能暴露出用戶真實(shí)體驗(yàn)的問(wèn)題。1.3 協(xié)同分層的設(shè)計(jì)思路既然模擬器和真機(jī)各有不可替代的部分那思路就清晰了不要試圖用一個(gè)環(huán)境覆蓋所有場(chǎng)景而是按用例特征把測(cè)試任務(wù)分層分給合適的設(shè)備去跑。我目前在用的這套分層邏輯大致是這樣日常提交代碼后的快速回歸跑在模擬器上數(shù)量多、速度快15分鐘內(nèi)把核心功能全部過(guò)一遍有問(wèn)題直接打回版本發(fā)布前的全量回歸跑在真機(jī)矩陣上覆蓋主流機(jī)型、主流系統(tǒng)版本耗時(shí)可以放到晚上定時(shí)任務(wù)里跑特殊場(chǎng)景用例比如地圖、支付、推送、弱網(wǎng)、性能單獨(dú)打標(biāo)只在真機(jī)上執(zhí)行不走日常調(diào)度。這個(gè)設(shè)計(jì)的核心是把“執(zhí)行速度”和“環(huán)境真實(shí)度”解耦。模擬器負(fù)責(zé)提供速度真機(jī)負(fù)責(zé)提供置信度。兩種設(shè)備通過(guò)一套統(tǒng)一的調(diào)度平臺(tái)管理對(duì)測(cè)試用例來(lái)說(shuō)它不關(guān)心跑在哪臺(tái)設(shè)備上只關(guān)心自己掛的標(biāo)簽匹配了什么設(shè)備。這樣寫(xiě)用例的人不需要關(guān)注設(shè)備差異維護(hù)成本大大降低執(zhí)行效率也能做到整體最優(yōu)。2. 基礎(chǔ)設(shè)施搭建統(tǒng)一設(shè)備池與任務(wù)調(diào)度2.1 模擬器選型與批量初始化市面上Android模擬器不少雷電、MuMu、夜神、逍遙各有各的特點(diǎn)。我個(gè)人的經(jīng)驗(yàn)是做自動(dòng)化測(cè)試優(yōu)先看三件事一是多開(kāi)能力二是Shell/ADB控制是否方便三是系統(tǒng)版本覆蓋是否靈活。雷電模擬器在自動(dòng)化圈子里用的比較多因?yàn)樗詭Ф嚅_(kāi)管理器可以批量創(chuàng)建實(shí)例而且它的ADB端口是可控的默認(rèn)是emulator-5554這種標(biāo)準(zhǔn)端口自己寫(xiě)腳本控制非常順手。MuMu模擬器對(duì)硬件兼容性好尤其是AMD平臺(tái)跑起來(lái)很穩(wěn)定。夜神模擬器也有一批忠實(shí)用戶團(tuán)隊(duì)里有熟悉哪個(gè)的就用哪個(gè)沒(méi)有必要糾結(jié)到非某一家不可。批量初始化是搭模擬器池的關(guān)鍵一步。我通常會(huì)準(zhǔn)備一個(gè)初始化腳本在一臺(tái)宿主機(jī)上批量創(chuàng)建多個(gè)模擬器實(shí)例然后統(tǒng)一配置固定分辨率比如1080x2340不同實(shí)例可以錯(cuò)開(kāi)、關(guān)閉系統(tǒng)動(dòng)畫(huà)窗口動(dòng)畫(huà)、過(guò)渡動(dòng)畫(huà)、Animator時(shí)長(zhǎng)縮放全部設(shè)為0、開(kāi)啟開(kāi)發(fā)者選項(xiàng)里的“不鎖定屏幕”、配置好Appium或Airtest的服務(wù)地址。這些配置如果手動(dòng)一臺(tái)一臺(tái)點(diǎn)既費(fèi)時(shí)間又容易漏腳本化以后幾分鐘就能把10臺(tái)模擬器全部準(zhǔn)備好。2.2 真機(jī)接入與設(shè)備狀態(tài)管理真機(jī)的接入和管理比模擬器麻煩得多。首先是連接方式USB直連容易受接口和線材影響大批量設(shè)備更推薦Wi-Fi調(diào)試或者通過(guò)USB hub統(tǒng)一供電和數(shù)據(jù)傳輸。設(shè)備多了以后需要一套設(shè)備管理平臺(tái)來(lái)統(tǒng)一納管自己團(tuán)隊(duì)用的話可以從簡(jiǎn)單的方案入手維護(hù)一個(gè)設(shè)備信息表記錄每臺(tái)設(shè)備的UDID、系統(tǒng)版本、分辨率、所屬測(cè)試任務(wù)、當(dāng)前狀態(tài)空閑/占用/離線然后用腳本輪詢adb devices來(lái)上報(bào)狀態(tài)。設(shè)備狀態(tài)管理一定要做自動(dòng)化的健康檢查。真機(jī)長(zhǎng)時(shí)間掛在測(cè)試平臺(tái)上最常見(jiàn)的現(xiàn)象就是掉線、屏幕鎖定、應(yīng)用被系統(tǒng)回收。所以我的做法是每臺(tái)設(shè)備上常駐一個(gè)Agent每隔幾分鐘上報(bào)一次狀態(tài)一旦發(fā)現(xiàn)設(shè)備離線或者屏幕滅了就自動(dòng)執(zhí)行adb reconnect或者點(diǎn)亮屏幕。還有個(gè)容易被忽略的點(diǎn)真機(jī)屏幕常亮設(shè)置。手機(jī)默認(rèn)會(huì)自動(dòng)息屏自動(dòng)化跑著跑著屏幕一鎖用例就全部掛在找元素上了。初始化設(shè)備的時(shí)候一定要執(zhí)行svc power stayon true并且把休眠時(shí)間設(shè)為30分鐘或永不。2.3 任務(wù)調(diào)度與設(shè)備匹配邏輯設(shè)備池建好之后核心就是任務(wù)調(diào)度這塊。我用的方案不算復(fù)雜測(cè)試任務(wù)提交到隊(duì)列調(diào)度器根據(jù)任務(wù)的設(shè)備標(biāo)簽把任務(wù)分發(fā)給對(duì)應(yīng)的worker執(zhí)行。worker從設(shè)備池里取一臺(tái)空閑設(shè)備執(zhí)行完畢后釋放。匹配邏輯關(guān)鍵在打標(biāo)。每一臺(tái)設(shè)備都有一組標(biāo)簽比如device_typeemulator、system_version12、screen_size1080x2340每一個(gè)任務(wù)也都有一組標(biāo)簽比如device_typedevice、system_version10。調(diào)度器做匹配的時(shí)候先滿足硬性標(biāo)簽再考慮負(fù)載均衡。比如一個(gè)真機(jī)任務(wù)就不要往模擬器上派一個(gè)要求系統(tǒng)版本12以下的任務(wù)就不要派給Android 14的設(shè)備。這套調(diào)度邏輯的優(yōu)點(diǎn)是設(shè)備擴(kuò)縮容很簡(jiǎn)單。要加執(zhí)行能力往設(shè)備池里加模擬器實(shí)例或者真機(jī)就行測(cè)試代碼完全不用改。當(dāng)初我用Python寫(xiě)了個(gè)簡(jiǎn)單的輪詢調(diào)度器幾百行代碼配合Redis隊(duì)列和worker進(jìn)程就把幾十臺(tái)設(shè)備管理起來(lái)了。團(tuán)隊(duì)如果不想自己造輪子直接用Jenkins的分布式節(jié)點(diǎn)加設(shè)備插件或者用現(xiàn)成的測(cè)試平臺(tái)工具也能達(dá)到類(lèi)似效果。3. 用例設(shè)計(jì)寫(xiě)一套能在兩種環(huán)境穩(wěn)定跑的腳本3.1 設(shè)備能力探測(cè)與用例分支能不能寫(xiě)一套用例同時(shí)在模擬器和真機(jī)上跑很大程度上取決于用例代碼里有沒(méi)有“環(huán)境感知”。我見(jiàn)過(guò)很多失敗的例子都在代碼里硬編碼了設(shè)備信息比如默認(rèn)屏幕是1080x1920、默認(rèn)系統(tǒng)版本是9換臺(tái)設(shè)備就掛了。所以第一原則是用例代碼不做任何設(shè)備假設(shè)一切以運(yùn)行時(shí)的能力探測(cè)為準(zhǔn)。舉個(gè)例子判斷當(dāng)前設(shè)備是模擬器還是真機(jī)我會(huì)在啟動(dòng)腳本里讀取設(shè)備信息然后打到一個(gè)全局變量里供用例調(diào)用def detect_device_type(driver): # 通過(guò)系統(tǒng)屬性判斷是否為模擬器 # ro.kernel.qemu 為1通常是模擬器 try: result driver.execute_script(mobile: shell, { command: getprop, args: [ro.kernel.qemu] }) return emulator if result.strip() 1 else device except Exception: return device拿到設(shè)備類(lèi)型之后用例里的差異邏輯就通過(guò)分支來(lái)處理。比如模擬器上點(diǎn)擊某個(gè)坐標(biāo)可以直接用絕對(duì)坐標(biāo)但真機(jī)上屏幕尺寸和分辨率各不相同就必須用元素定位或者百分比坐標(biāo)。再比如定位權(quán)限彈窗不同系統(tǒng)版本的授權(quán)按鈕文案不一樣Android 12和Android 8的彈窗樣式完全是兩回事用例里統(tǒng)一封裝一個(gè)授權(quán)函數(shù)內(nèi)部根據(jù)系統(tǒng)版本走不同的分支。3.2 非預(yù)期彈窗的統(tǒng)一攔截機(jī)制“自動(dòng)化測(cè)試非預(yù)期彈窗導(dǎo)致失敗”這個(gè)問(wèn)題我是深有體會(huì)。用例明明寫(xiě)得很穩(wěn)跑著跑著一個(gè)“系統(tǒng)更新”彈窗跳出來(lái)把頁(yè)面上的元素?fù)踝×它c(diǎn)擊就穿透到彈窗上整個(gè)用例直接失敗。后來(lái)發(fā)現(xiàn)模擬器上幾乎不出現(xiàn)彈窗但真機(jī)上的彈窗來(lái)源五花八門(mén)系統(tǒng)更新、應(yīng)用內(nèi)廣告、權(quán)限申請(qǐng)、隱私協(xié)議、推送通知、QQ/微信的懸浮窗……我的解決方案是建立一個(gè)統(tǒng)一的彈窗攔截機(jī)制在每個(gè)關(guān)鍵操作之前執(zhí)行一次攔截函數(shù)把已知的、可能出現(xiàn)的彈窗統(tǒng)一處理掉。核心思想是維護(hù)一個(gè)“彈窗庫(kù)”每個(gè)彈窗用一組特征來(lái)識(shí)別比如包名、控件ID、文本內(nèi)容。攔截函數(shù)遍歷彈窗庫(kù)如果發(fā)現(xiàn)當(dāng)前頁(yè)面上有匹配的彈窗就執(zhí)行關(guān)閉操作。關(guān)鍵是這個(gè)彈窗庫(kù)要按設(shè)備維度區(qū)分。模擬器上不需要攔截的彈窗真機(jī)上可能需要系統(tǒng)版本不同同一個(gè)彈窗的關(guān)閉按鈕位置也不同。所以我會(huì)給彈窗庫(kù)里的每一條記錄打上適用條件比如device_typeemulator、system_version12攔截的時(shí)候根據(jù)當(dāng)前設(shè)備信息做過(guò)濾。這個(gè)機(jī)制看起來(lái)簡(jiǎn)單但工作量主要在維護(hù)彈窗庫(kù)上每次真機(jī)上跑出新彈窗就把它補(bǔ)充進(jìn)庫(kù)里去。3.3 網(wǎng)絡(luò)與服務(wù)調(diào)用差異的處理模擬器和真機(jī)在訪問(wèn)測(cè)試服務(wù)時(shí)有一個(gè)巨大的差異localhost。模擬器里訪問(wèn)宿主機(jī)的服務(wù)可以用10.0.2.2這個(gè)特殊地址但真機(jī)上完全沒(méi)有這個(gè)概念你寫(xiě)死在用例里的10.0.2.2在真機(jī)上根本不通。處理方式有兩種我推薦第二種。第一種是把測(cè)試服務(wù)的地址配置成局域網(wǎng)IP真機(jī)和模擬器都能訪問(wèn)但需要保證設(shè)備和宿主機(jī)在同一網(wǎng)段而且公司網(wǎng)絡(luò)策略可能限制設(shè)備訪問(wèn)。第二種是用adb reverse命令把設(shè)備上的端口映射到宿主機(jī)這樣代碼里可以統(tǒng)一使用localhost無(wú)需感知設(shè)備類(lèi)型adb -s device_udid reverse tcp:8080 tcp:8080執(zhí)行完這條命令后設(shè)備上訪問(wèn)localhost:8080就會(huì)轉(zhuǎn)發(fā)到宿主機(jī)的8080端口。這個(gè)方式對(duì)模擬器同樣有效所以是用例代碼里最省心的方案。不過(guò)需要提醒的是adb reverse在每次設(shè)備重連后都會(huì)失效所以設(shè)備初始化腳本里要重新執(zhí)行一遍。3.4 回歸策略與設(shè)備分配矩陣用例和設(shè)備都準(zhǔn)備好了接下來(lái)就是怎么分配執(zhí)行策略。我習(xí)慣按風(fēng)險(xiǎn)等級(jí)和設(shè)備特性做一個(gè)分配矩陣在測(cè)試平臺(tái)上配置好這樣每次執(zhí)行不用人工干預(yù)全自動(dòng)分流。執(zhí)行矩陣大致是這個(gè)思路用例類(lèi)型示例執(zhí)行設(shè)備執(zhí)行時(shí)機(jī)核心流程冒煙登錄、注冊(cè)、首頁(yè)加載模擬器每次代碼提交后功能模塊回歸搜索、下單、個(gè)人中心模擬器每日定時(shí)系統(tǒng)兼容性不同Android版本UI展示真機(jī)矩陣版本發(fā)布前硬件依賴場(chǎng)景地圖、相機(jī)、指紋、NFC真機(jī)版本發(fā)布前性能與弱網(wǎng)啟動(dòng)耗時(shí)、頁(yè)面上滑幀率真機(jī)里程碑版本支付與推送微信支付、廠商推送真機(jī)版本發(fā)布前這個(gè)矩陣不是固定的每個(gè)團(tuán)隊(duì)可以根據(jù)自己的業(yè)務(wù)特點(diǎn)調(diào)整。核心原則是變化頻繁的用例靠近模擬器追求反饋速度依賴系統(tǒng)能力的用例靠近真機(jī)追求環(huán)境和真實(shí)性模棱兩可的用例先在模擬器上跑如果連續(xù)跑一段時(shí)間都沒(méi)有出現(xiàn)過(guò)環(huán)境差異導(dǎo)致的問(wèn)題那就繼續(xù)留在模擬器沒(méi)有必要為了“儀式感”把每個(gè)用例都在真機(jī)上跑一遍。4. 小程序與跨端場(chǎng)景的協(xié)同細(xì)節(jié)4.1 開(kāi)發(fā)者工具限制與真機(jī)兜底小程序自動(dòng)化測(cè)試和App有個(gè)很大的不同開(kāi)發(fā)者工具本身不是最終運(yùn)行環(huán)境它只是調(diào)試工具所以有一堆API在開(kāi)發(fā)者工具里是不能用的。最常見(jiàn)的報(bào)錯(cuò)就是本文開(kāi)頭提到的movetomaplocation:fail 開(kāi)發(fā)者工具暫時(shí)不支持此api調(diào)試請(qǐng)使用真機(jī)還有藍(lán)牙、NFC、掃碼、錄音、攝像頭這類(lèi)硬件能力API在開(kāi)發(fā)者工具里基本全是“演示模式”結(jié)果不真實(shí)。處理這類(lèi)場(chǎng)景的統(tǒng)一原則是能在開(kāi)發(fā)者工具里跑的用例通常是純頁(yè)面渲染、事件綁定、請(qǐng)求發(fā)送在開(kāi)發(fā)者工具上跑速度快、回放穩(wěn)定凡是調(diào)用硬件API或者依賴平臺(tái)能力的地方一律打標(biāo)跳真機(jī)。我在實(shí)際項(xiàng)目里的做法是給用例加一個(gè)platform標(biāo)記例如pytest.mark.real_device執(zhí)行時(shí)由調(diào)度器來(lái)分流。另外還有一個(gè)容易踩的坑真機(jī)調(diào)試需要綁定開(kāi)發(fā)者賬號(hào)不是隨便拿一臺(tái)手機(jī)掃碼就能用的。如果登錄的不是小程序的開(kāi)發(fā)者手機(jī)上會(huì)直接提示“登錄用戶不是小程序開(kāi)發(fā)者”連預(yù)覽都打不開(kāi)。所以搭建真機(jī)測(cè)試池的時(shí)候一定要提前確認(rèn)哪些設(shè)備綁定了對(duì)應(yīng)的小程序開(kāi)發(fā)者權(quán)限而且一般一個(gè)小程序賬號(hào)下能綁定的設(shè)備數(shù)量是有限的設(shè)備池規(guī)劃的時(shí)候要心里有數(shù)。4.2 真機(jī)調(diào)試網(wǎng)絡(luò)異常的排查真機(jī)調(diào)試小程序或者App時(shí)最讓人頭疼的報(bào)錯(cuò)是類(lèi)似net::err_connection_reset這樣的網(wǎng)絡(luò)錯(cuò)誤。第一次遇到的時(shí)候我以為是代碼問(wèn)題查了半天發(fā)現(xiàn)是網(wǎng)絡(luò)訪問(wèn)不通。這類(lèi)問(wèn)題的排查思路一般有幾條。首先確認(rèn)測(cè)試環(huán)境是否在合法域名白名單里小程序的request、uploadFile、downloadFile這些接口都要求域名是HTTPS且在后臺(tái)配過(guò)白名單真機(jī)調(diào)試模式下可以勾選“不校驗(yàn)合法域名”來(lái)繞過(guò)但正式環(huán)境不行。其次是代理設(shè)置開(kāi)發(fā)者工具或設(shè)備如果配了代理代理服務(wù)不穩(wěn)定就直接連接重置。再次是服務(wù)器端的TLS配置小程序?qū)LS版本有要求老舊的服務(wù)器配置會(huì)導(dǎo)致握手失敗。最后如果排除完上面所有原因都不通就檢查一下是不是測(cè)試環(huán)境的IP被設(shè)備訪問(wèn)不了——比如服務(wù)綁定在宿主機(jī)回環(huán)地址上真機(jī)從局域網(wǎng)訪問(wèn)自然不通。我的經(jīng)驗(yàn)是真機(jī)調(diào)試網(wǎng)絡(luò)問(wèn)題要用排除法列表一項(xiàng)一項(xiàng)排查而不是憑感覺(jué)亂猜。把“網(wǎng)絡(luò)不通”當(dāng)做一個(gè)專(zhuān)項(xiàng)問(wèn)題來(lái)對(duì)待整理一份排查清單能省下大量的排查時(shí)間。4.3 跨端框架的注意事項(xiàng)現(xiàn)在不少團(tuán)隊(duì)用uni-app這類(lèi)跨端框架開(kāi)發(fā)小程序和App好處是一套代碼多端復(fù)用但自動(dòng)化測(cè)試的坑也隨之而來(lái)。第一個(gè)坑是“uniapp小程序不能真機(jī)調(diào)試”。uni-app編譯出來(lái)的小程序跟原生小程序的運(yùn)行環(huán)境還是有一層間接關(guān)系的經(jīng)常出現(xiàn)開(kāi)發(fā)者工具里一切正常掃碼真機(jī)預(yù)覽卻白屏或者報(bào)錯(cuò)。解決方案多數(shù)是版本問(wèn)題HBuilderX版本和小程序基礎(chǔ)庫(kù)版本不匹配導(dǎo)致的真機(jī)調(diào)試前先更新到對(duì)應(yīng)的版本組合。第二個(gè)坑是跨端條件下的環(huán)境差異。uni-app開(kāi)發(fā)時(shí)很多API是條件編譯的微信小程序、App、H5各自走不同的代碼分支。自動(dòng)化測(cè)試腳本如果只在開(kāi)發(fā)者工具上驗(yàn)證過(guò)微信小程序分支那App端的邏輯可能是完全沒(méi)被覆蓋到的。所以我的建議是對(duì)于uni-app項(xiàng)目日常用模擬器跑開(kāi)發(fā)者工具里的流程App端一定要在真機(jī)上走一遍完整的核心流程尤其是涉及平臺(tái)SDK的登錄、支付、分享。5. 穩(wěn)定性問(wèn)題與效率優(yōu)化實(shí)錄5.1 模擬器環(huán)境的典型故障模擬器雖然方便但也不是絕對(duì)穩(wěn)定。最常見(jiàn)的故障是模擬器啟動(dòng)失敗尤其是放在服務(wù)器上跑的。排查思路先看宿主機(jī)有沒(méi)有開(kāi)啟虛擬化Intel平臺(tái)要開(kāi)VT-xAMD平臺(tái)要開(kāi)SVMBIOS里沒(méi)開(kāi)的話模擬器直接起不來(lái)。其次是內(nèi)存分配給模擬器分配的內(nèi)存超過(guò)宿主機(jī)物理內(nèi)存表現(xiàn)為啟動(dòng)到一半就閃退。再次是磁盤(pán)空間模擬器鏡像文件動(dòng)輒幾十GB磁盤(pán)滿了之后模擬器會(huì)卡死或者無(wú)法創(chuàng)建快照。模擬器跑久了還有一個(gè)問(wèn)題系統(tǒng)時(shí)間漂移。有些模擬器的系統(tǒng)時(shí)鐘會(huì)跟宿主機(jī)不同步導(dǎo)致應(yīng)用里的時(shí)間戳判斷出錯(cuò)。我們的處理方式是在每個(gè)task執(zhí)行前跑一次adb shell date跟宿主機(jī)時(shí)間對(duì)比超過(guò)一定閾值就自動(dòng)校準(zhǔn)。另外模擬器的“假”還體現(xiàn)在某些系統(tǒng)行為不會(huì)觸發(fā)。比如App崩潰時(shí)真機(jī)會(huì)彈“微信停止運(yùn)行”的系統(tǒng)對(duì)話框模擬器可能直接靜默退出。如果用例依賴檢測(cè)崩潰彈窗來(lái)判斷是否異常那在模擬器上可能永遠(yuǎn)查不到問(wèn)題。所以崩潰監(jiān)控這塊我的建議是不要只做UI層面的彈窗檢測(cè)還要做日志層面的異常檢測(cè)這樣在模擬器上也能發(fā)現(xiàn)崩潰。5.2 真機(jī)連接的常見(jiàn)故障真機(jī)連接問(wèn)題比模擬器更多而且更隨機(jī)。先說(shuō)說(shuō)掉線問(wèn)題。設(shè)備長(zhǎng)期跑測(cè)試經(jīng)常出現(xiàn)adb devices里還能看到設(shè)備但執(zhí)行任何命令都報(bào)device not found或者device offline。處理方式比較粗暴先adb kill-server再adb start-server重啟ADB服務(wù)不行的話再執(zhí)行adb reconnect offline讓離線設(shè)備重連還不行就只能物理重插USB了。多臺(tái)設(shè)備同時(shí)跑的時(shí)候還有一個(gè)很容易被忽略的問(wèn)題設(shè)備之間的狀態(tài)會(huì)互相干擾。比如兩臺(tái)設(shè)備同時(shí)跑同一個(gè)賬號(hào)相關(guān)的用例后登錄的設(shè)備會(huì)把先登錄的設(shè)備踢下線。所以我們的方案是每個(gè)測(cè)試任務(wù)執(zhí)行前先用設(shè)備池的占用機(jī)制鎖住設(shè)備任務(wù)結(jié)束后無(wú)條件清理應(yīng)用數(shù)據(jù)確保這臺(tái)設(shè)備回到初始狀態(tài)不給下一個(gè)任務(wù)留坑。還有一個(gè)真機(jī)特有的問(wèn)題手機(jī)溫度過(guò)熱導(dǎo)致降頻。性能測(cè)試或者長(zhǎng)時(shí)間跑用例手機(jī)發(fā)熱嚴(yán)重系統(tǒng)會(huì)自動(dòng)降頻導(dǎo)致用例執(zhí)行時(shí)間變長(zhǎng)甚至超時(shí)。我遇到過(guò)一次一臺(tái)設(shè)備跑了一晚上回歸早上過(guò)來(lái)一看后面一半的用例全是超時(shí)失敗但看日志又覺(jué)得一切都正常最后才發(fā)現(xiàn)是溫度問(wèn)題。后來(lái)我們給長(zhǎng)時(shí)間執(zhí)行的設(shè)備加了溫度監(jiān)控超過(guò)閾值就自動(dòng)暫停任務(wù)讓設(shè)備冷卻。5.3 提升整體執(zhí)行效率的技巧協(xié)同方案的最終目標(biāo)是效率不是流程好看。我總結(jié)下來(lái)幾個(gè)提升效率的點(diǎn)非常有效。第一模擬器并行度可以大膽調(diào)。一臺(tái)16核64GB的宿主機(jī)開(kāi)8個(gè)模擬器實(shí)例并行跑完全沒(méi)有問(wèn)題。而真機(jī)并行受限于USB接口、供電和網(wǎng)絡(luò)帶寬并行度要保守很多。所以日常回歸盡量讓模擬器多扛一些。第二用例執(zhí)行順序有講究。把用例按失敗概率排序容易失敗的用例放前面這樣執(zhí)行過(guò)程中如果出問(wèn)題可以早發(fā)現(xiàn)、早停止避免無(wú)意義的繼續(xù)執(zhí)行浪費(fèi)時(shí)間。我們會(huì)在測(cè)試平臺(tái)里統(tǒng)計(jì)每個(gè)用例的歷史失敗率動(dòng)態(tài)調(diào)整執(zhí)行優(yōu)先級(jí)。第三模擬器復(fù)用而不是重復(fù)創(chuàng)建。創(chuàng)建模擬器實(shí)例耗時(shí)很長(zhǎng)如果每輪測(cè)試都從鏡像恢復(fù)時(shí)間成本太高。我的做法是維護(hù)一個(gè)“熱池”提前啟動(dòng)若干臺(tái)模擬器任務(wù)結(jié)束不銷(xiāo)毀只是清理數(shù)據(jù)下一個(gè)任務(wù)進(jìn)來(lái)直接復(fù)用。第四數(shù)據(jù)準(zhǔn)備服務(wù)化。測(cè)試用例最怕在準(zhǔn)備數(shù)據(jù)上浪費(fèi)時(shí)間登錄、注冊(cè)、造數(shù)這些操作應(yīng)該做成一個(gè)公共的服務(wù)用例直接調(diào)用而不是每個(gè)用例都自己走一遍流程。數(shù)據(jù)的準(zhǔn)備過(guò)程放到調(diào)度器的前置階段用例只負(fù)責(zé)驗(yàn)證結(jié)果。5.4 常見(jiàn)問(wèn)題速查表把我在實(shí)際運(yùn)維中遇到的典型問(wèn)題匯總成了一張表方便排查時(shí)對(duì)照現(xiàn)象可能原因排查思路模擬器啟動(dòng)失敗虛擬化未開(kāi)啟、內(nèi)存不足檢查BIOS的VT/SVM、宿主機(jī)內(nèi)存占用adb連接正常但設(shè)備offlineADB服務(wù)異常、設(shè)備USB調(diào)試權(quán)限失效重啟ADB服務(wù)、重新授權(quán)USB調(diào)試用例在模擬器通過(guò)、真機(jī)失敗設(shè)備能力差異、彈窗干擾先看設(shè)備類(lèi)型分支是否匹配、彈窗庫(kù)是否覆蓋真機(jī)訪問(wèn)localhost失敗缺少adb reverse映射執(zhí)行adb reverse并加入初始化腳本小程序真機(jī)預(yù)覽白屏編譯版本和基礎(chǔ)庫(kù)不匹配更新HBuilderX和微信開(kāi)發(fā)者工具版本地圖API無(wú)法調(diào)試工具不支持該API改用真機(jī)并打標(biāo)跳過(guò)工具環(huán)境長(zhǎng)時(shí)間執(zhí)行后用例變慢設(shè)備發(fā)熱降頻監(jiān)控溫度、暫停任務(wù)冷卻多條用例共用一個(gè)賬號(hào)互踢狀態(tài)隔離不完整任務(wù)執(zhí)行前清理數(shù)據(jù)、鎖設(shè)備排查問(wèn)題時(shí)一定要記住一個(gè)原則先看環(huán)境再看代碼。自動(dòng)化測(cè)試?yán)锎罅康膯?wèn)題其實(shí)都是環(huán)境問(wèn)題而不是用例問(wèn)題。不要一上來(lái)就懷疑代碼寫(xiě)錯(cuò)了先把設(shè)備狀態(tài)、網(wǎng)絡(luò)情況、版本匹配這些因素排除掉往往能少走很多彎路。我在實(shí)際項(xiàng)目里把這套方案跑起來(lái)之后最大的感受是設(shè)備不再是瓶頸執(zhí)行速度和對(duì)環(huán)境的信任度終于可以兼得?;叵肫饋?lái)這套方案的落地過(guò)程中最花時(shí)間的不是寫(xiě)用例也不是搭設(shè)備池而是把“哪些用例該跑模擬器、哪些必須跑真機(jī)”這個(gè)決策邏輯和團(tuán)隊(duì)達(dá)成一致。只要規(guī)則定清楚了剩下的事情無(wú)非就是執(zhí)行和完善。如果你正在糾結(jié)真機(jī)和模擬器的選擇不妨試試先把它們分開(kāi)看再合起來(lái)用可能一下就通透了。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
青青草一区二区高清无码视频| 色妇91| 新怡红院| 91色色综合| 国产黄色剧情影片麻豆免费播放| 国产一线二线三线av| 国产女人高潮视频| 大香网伊人久久综合网eew| 欧美爆操91| 在线视频97| 国内一区二区免费| 免费久久一级毛片大黄| 亚州色国| 天天干人妻| 久久国产乱子伦精品免费女,网站| 天天爱天天韩国日本牛牛牛牛| 天天插天天干| 五月婷婷六月激情| 青草精品视频-日本久久久久网站| 婷婷香蕉欧美在线一区二区三区| 免费毛片在线播放| 国产精品交换一区二区| 国产欧美亚洲精品a第2页| 情色av电影| 人人操AV| 久久精品综合| 婷婷国产精品九区| renqi久久久久久久久久久久| 夜草网站| 国产品精品自在在线午夜免费| 天堂日本亚洲欧美| 97中文天堂| 中文字幕av乱伦| 无码 黑人一区二区三区| 中文字幕一区二区三区人妻不卡| 久超碰这里只有精品| 色99色| 亚洲精品国语在线播放| 九九aV| 丝袜剧情| 黄页网站免费高清在线观看| 久久久久成人亚洲国产| 欧美大香蕉专区网| 人妻av在线| 亚洲AV永久无码一区仙野| 乱伦图一区| 国产亚洲女v在线观看| 久久夜夜| 久久久久亚洲?V片无码V| 91快色色色色色| 秋霞蝌科网日本一区| 艹比视频国产精品| 夜夜嗨一区二区| 久久一二三四不卡| 亚洲999综合| 久久九操在线观看| 美女久久久久久久久久久| 蜜臀AV午夜精品久| 国产传媒日韩| 五月丁香黄色网| 狠狠操夜夜| 人人操人人狠狠操| 韩国女主播青草在线| 亚洲的天堂网| 人妻一区二区三区四区视频| 粉嫩绯色AV一区二区在线| 日韩免费看黄片| 嗯啊不要在线| 久久久亚洲熟妇资源| 99re视频在线观看这里只有精品| 四虎午夜影院| 色哟哟 日韩精品| 国产一区二区精品久久99| 99久在线精品99re8热| 看看小穴| 欧美性暴力| 大黄片做爱的大的| 蜜桃精久三区| 麻豆国产精品午夜视频| 99啪啪| 亚洲日韩av一区二区三区百合| 黄色电影在线播放综合网站| 免费a在线播放v| 中文字幕 码 自拍 视频 区| 亚洲天堂日本| 国产婷婷综合在线观看| 偷拍新久久| 爱欲AV| 韩国一区二区精品亚洲| 激情五月婷婷综合| 精品一区二区成人动漫| 亚洲国产91精品一区二区久久| 天天拍夜夜| 校园春色亚洲色图| 天天综合香 ld视频| 伊人天堂在线| 很黄很色的视频在线观看| 天天综合网网欲色| 中文字幕av亚洲精品| 91中出| 国产精品ww久久| 极品美女嘿咻| 精品视频一二三中文| 中文字幕乱妇免费视频| 好吊色青靑草| 色97欧美| 免费岛国一级片| 午夜福利av电影在线| 女人综合网| 欧美成人性爱视频大全| 亭亭在线资源| 97这里有精品| 探花一区在线| 啪啪一区| 国产熟女精品一区二区| 婷婷亚洲天堂| 亚洲天堂久| 国产熟女自拍| 黄色小视频日本txt| 精品小视频在线| 青青草国产欧美非洲黑人| 日韩有码 一区二区三区| 免费的黄片wwwwww| 91亚洲丝袜熟女| 2025亚洲男人天堂| 亚洲性图91| 久久鲁夜| 四虎精品永久在线观看| 亚洲资源站| 人爽不卡视频| 十八禁视频一区二区| 欧州一区二区三区四区| 岛国色情视频在线观看| 午夜.DJ高清在线观看免费7| 啪啪视频亚洲第一| 亚洲中文字幕av| www狠狠| 五月婷婷六月色| 日本性爱少妇| 超碰在线国产| 国产二区三区粉嫩在线| 二级久久网| 日本2020一区二区| 国产不良强奸视频免费看| 中文字幕加勒比海高清无码免费视频| 四虎AV在线播放| 欧美精品第3页| 亚欧美综合网| 精品一区二区综合熟妇| 日日夜夜狠狠| 91老熟女91老女人| 干我久操| 成人AV素股で擦久久| 国产白嫩精品久久| 99999久久久久9国产精品| 精品一区96| 亚洲欧美日韩电影网站一区 | 欧美成人午夜免费福利785| 国产隔壁老王影院在线| 国产对白刺激视频| 爽极品影院| 欧洲亚洲天堂精品| 亚洲成av人片色午夜乱码| 久久久久国产一区二| 91在线综合网| 最新国产精品久久精品| 国产一区二区三区久久精品太古里| 国模私拍一区二区三区神乳| 九九九九九用不成了| 亚州操逼网| 91精品老女人| 国产精品九九| 伊人五月天| 四虎884a| 欧洲中文字幕| 色五天伊人| 久9久| 男人的天堂在线| 亚洲AV操| 色综合国产在线观看| 亚洲色天堂九9| 国产欧美日韩在线不卡第一页| 国产偷人妻精品一区二区在线| 天天天乱色综合全| 国产极品美女高潮无套在线观看| 国产成人精品亚洲日本| 操逼视频免费日韩无码| 色婷婷电影网| 成人一道本免费视频| 999 久久久| 91欧美| 日本三级A片网站com| 欧美 熟女 日韩| 操逼日韩无码 | 91大神精品长腿在线观看网站| 超碰97玖玖爱| 日本高清电影欧美色图| 日本久久99| 久久精品国产亚洲AV高级北京| 超碰人妻久久| 国产精品一区在线播放| 激情熟女12P| 中文字幕乱偷人妻久久艾草网| 久久婷婷国产一区二区色| 免费簧片在线观看| 手机在线中文字幕国产 | 久久侵犯人妻爽爽爽| 日韩人妻免费精品| 日本免费一级AAA大片器 | 亚洲美女自拍偷拍视频| 91精品女厕偷拍视频| 亚洲欧美91| 成人草草视频| 97在线日韩中文字幕| 男人干美女| 日韩亚洲美女一区久久| www.欧精品| 五月黑AⅤ| 99热18| 国产成人精品日本视频| 国产又色又爽又舒服的三级视频| www成人啪啪18秘 免费| 欧美性巨大╳╳╳╳╳高跟鞋| 亚洲成aⅴ人片不卡无码| 亚洲成人贴图| 9色国产精品一区粉嫩| 91综合网站| 美女被啪到深处抽搐视频| 六月丁香网| 国产高清无码一区二区三区四区皇冠| 333kkkk·亚洲com久久| 久久草在线综合视频| 亚洲天堂7777| 久久五月综合| 欧洲天天在线| 青久操| 天天摸天天舔天天操| 啊啊啊啊二区好大| 久久久久久99999国产精品| 加勒比久久av| 99999久久精| 91欧美亚洲| 一区二区三区国产在线播放| 天堂69亚洲精品中文字| 黄色区免费观看中文字幕| 51一区二区三区| 爱我干综合| 国产在线76页| 歐美性天天| 久久人爽| 91精品人妻一品二品三品| 国产高清成人免费视频| 岛国在线一区二区三区| 久热99| 91 丝袜在线| 国产中午字一暮区| 最新无码国产| 成人熟女区| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 欧美性爱免费短视频| 伊人网综合在线视频| αⅴ天堂| 国产尹人在线视频免费| 99re久久| 日日夜夜模| 哈哈操电影| 岛国片在线播放| 日韩成人性爱电影在线播放| 精品人妻一区二区三区-国产| 亚洲乱色视频一区、二区在线| 西西美女视频网| 一本色道人妻久久| 国产一进一出视频网站| 操久久久久久| 青青草在线视频美女| 无码不卡亚洲成?人片| 中日韩熟女| 国产白领连续中出在线观看| 91丝袜在线视频| 日韩无码一区二区三区| 乱伦日本色图AⅤ| 九九九九九九九九九九九免费国产| 午夜精品久久久久| 亚欧免费观看视频| 91路www| 激情黄色五月天| 97在线观看免费视频| 亚洲精品a人片在线观看视| 麻豆天美传媒在线视频天堂| 午夜毛片亚洲精品片国产久久久| 日韩啪啪视频| 色狠狠一区二区三区香蕉| 国产精品呦一区二区三区| 污到发麻的视频 国产| 国产中午字一暮区| 黄页视频网站野外| 欧色性第一页| 欧州91高潮| 97欧美性爱| 女人的天堂大香蕉网| 丁香色狠狠色综合久久小说| 久久,精品一二三| 密臀在线视频| 日韩另类| 好涩综合| 中亚精品极乱| 久久久久久久强迫| 少妇69中文| 国产JDAV无码视频在线观看| 久久久久久久久久久97| 中文字幕一区二区视频在线观看| 荡小穴在线观看| 久久这里只有精品9| 猛交交| 97干在线| 国产日韩怡红院| 99视频精品| 97亚洲色图| 六九九九| 无码高清操逼网址| AV男人天堂网| 天天干,夜夜爽| 美女高潮国产高清| 欧美熟妇精品黑人巨大一二三区| 欧美一区二区福利在线| 91无摭挡| 激情久久av一区av二区av| 天天弄欧美| 国产无码精品高清| 97操综合| 欧美|91色综合| 91丨国产丨白浆秘 洗澡动漫| 亚洲色五月| 97欧美超碰| 91网站18在线| 超碰人人操97碰| 亚洲熟久久| av国产无码| 农村妇女精品一二区| 夜夜肏2021| 综合久久久久久久久91| 日韩天天本| 丁香五月激情综合国产| 在线免费观看高清无码视频| 综合性视频99| 高清国产精品福利网站| 亚洲性少妇| 亚洲高清欧美总合| 亚洲天堂资源在线| 欧美一二级| 亚洲欧美另类激情小说| 色五月首页| 黄色一区三区| 在线无码视频| 日韩无码第3页| 激情小说五月天| 人人玩人人添人人澡免费| 粉嫩av在线一区二区| 亚洲欧洲美腿丝袜| 欧美性爱一区二区三区| 福利社区午夜一区二区| 亚洲综合春色| 99热欧美| 亚洲精品亚洲人成在线麻豆| n1038 一二三区| 日日骚网站| 人人操人人狠狠操| 久久熟女久| 国产精品久久久久亚洲av| 日韩av三四区| 人人摸人人入| 久久久久久久久久久人妻| 亚洲欧美97| 操国产高清| 啊啊啊好湿国产一二| 亚洲有码视频二区| 热久久91婷婷| 十八禁视频一区二区| 黄色AAAAAAAAAAA大片| 国产视频97| 91丝袜视频在线观看| 亚洲色图欧美| 亚洲av总站| 这里只有精品视频在线观看麻豆 | 日本天天吊| 欧美黑人性猛交91| 国产精品3| 亚洲男人在线观看天堂| 91丨九色丨熟女高潮| 亚洲无码一区成人免费午夜 | 激情五月天中文字幕色| 精品无码久久久| 免费观看性欧美一级| 国产青视频| 欧美性爱十八禁| 国产熟女一区二区| 9 7超碰在线免费观看| 日韩精品在线视频在线观看| 偷拍网站久久男女男| 超碰人妻久久| 亚洲限制级| 大香樵伊人网| 亚洲中文一区二区三区| 欧美情色亚洲| 久久网亚洲| 国产在线76页| A 在线网址| 色综合91好| 我爱搞逼综合网| 97资源超碰| 男人的天堂日韩| 欧美在线观看综合国产| 国产剧情一区在线观看| av天堂影视中文在字幕在线中文 | 立川理惠被中出无码| 330Dv国产女人终合视频极品人与兽| 天天综合91入口| 精品妇操一区二区三区| 99久久久| 色区久久| 99热精品在线| 手机在线播放国产福利| 人人么人人操| 蜜臀久久99精品久久久电影| 岛国999| 97bbn| #NAME?| 丝袜视频一区二区在线播放国产中文| 欧美一区二区在线资源| 91人人看| 天天插天天插| 高清不卡国产| 日韩性爱电影一区| 日韩欧美亚洲一区二区三区影院| 国产精品一区午夜福利| 色综合V| 中文字幕日韩人妻视频一区二区三区| 伊人五月天婷婷| 成人日韩3| 天天天天天干夜夜夜夜夜操| 国产成人无码网站在线视频| 亚洲综合五月天婷婷丁香| 日韩有码专区| 男人天堂无码| WWW4虎| 午夜无码熟妇丰满人妻| 久久永久无码人妻视频| 国产偷拍自拍在线视频| av片在线观看免费播放| 日本色色视频网站| 少妇天堂网络| 亚洲人精品久久久喷水| 蜜乳中文字幕a在线| 日韩性爱高清免费视频| 久久精品性| 久久激情亚洲精品无码?V| 蜜桃久久综合视频| 色妹子A V| 日韩一级二级三级免费看完整版国语版 | 亚洲制服aⅴ中文字幕| 国产内射爽爽大片| 国产精品久久成人免费| 91色五月俺来也| 天天日天天屌天天操| www.91视频网| 婷婷激情五月天小说网| 久久在线观看免费视频| 欧美国产日韩高清在线| 大奶尤物鲍汁淫荡欧美视频粉嫩夜夜骚| 欧美性爱18观看| 五月婷婷综合在线| 欧美少妇高潮| 欧美顶级黄色大片免费| 色婷婷久久| 午夜亚洲| 老鸭窝日丰县女人| 亚洲天堂人人妻| 日韩操呦呦影院在线观看| 男人的亚洲天堂| 超碰在线第一页| 国产日韩欧美中文在线播放| 国产传媒一区二区三区| 亚洲一二三精品久久网| 麻豆av一区二区| 亚洲一区操| 精品综合久久久久久五月天| 午夜AV污污污| 天天影视综合网欧美精品| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 国产不卡中文字幕免费avi| 男人的天堂VA| 日韩欧美视频青青| julia国产在线| 久久久婷| 亚洲不雅视频1区二区| 日韩婷婷| 精品一区二区三区免费古装毛片香港三级日本三级人妇 | 五月天偷拍| 久操国产在线| 夜夜夜夜夜夜夜夜夜狠狠狠狠狠狠狠| 在线日韩日本亚洲国产| 美女97超碰| 日韩亚洲精品一区二区| 97超碰伊人| 射 色综合| 超碰97人人cao| 白 大 人妻 区 在线| 成人av性爱电影在线观看| 你草精品在线视频| 国产午夜福利专区综合| 国产精品久久久视频| 久久的免费性爱视频| 久久欧洲| 久久婷婷亚洲| 深夜激情 | 亚洲av在线免费观看| 在线二区不卡| 日韩在线人妻网站| 在线观看不卡一区二区三区| 人人喜人人妻| 欧亚性爱啪啪| 性欧美91| 婷婷香网站| 99热在线播放| 亚洲欧洲av影音| 欧美中字不卡| 91久久久久久| 91这里只有精品| 欧美激情亚洲色图| 777奇米影视777四色| 人妻出轨一区二区三区| 亚洲日韩成人性爱视频| 日本爽爽爽爽爽爽免费视频| 国产高清不卡视频| 色99视频| 肏逼福利网站| 日日摸日日弄日日拍| 欧美熟妇精品黑人巨大一二三区| www网站黄| 人人操人人摸人人骑| 97在线日韩中文字幕| 超碰99在线| 久久久免费的精品| 岛国激情视频在线观看| 亚洲国产97| …中文字幕亚洲乱,97人妻无码费视… | 欧美色图综合网| 台湾佬中文娱乐网久久久久久久久久com | 99久在线精品99re8| 天天干天天日天天射黄色大片| 欧美在线播放aaaa| 国产欧美一级在线观看| 日韩字幕一区| 少妇被c 黄 免费观看| 我想要啊 啊 啊| 好舒服视频| 欧美久久毛片基地| 黄页18禁| 冬京热男人的天堂| 欧美黄页在线| 日韩欧美经典在线观看| 特级毛片特黄久久免费看| 三级日本一区二区三区| 亚洲欧美综合| 久久精品一区二区一8| 东京太热男人的天堂久久久| 夜夜嗨一区二区三区三州加勒比| 99久在线精品99re8热视频在线| 69综合网| 欧美在线55555| 中文字幕片| 快点操死我| 夜夜夜夜夜夜夜夜夜狠狠狠狠狠狠狠| 天天影视综合网欧美精品| 97人人操人人干| 超碰AV在线| 91精品丝袜久久久久久| 九九热精品| 一区二区三区精品黑丝白丝酒店对鸡| 亚洲色五月| 密乳AV免费观看| 二男一女成人A片| 国产色图乱伦| 欧美亚洲| 色欲无码人妻日韩欧美精品| 手机在线播放国产福利| 欧美劲爆视频一区二区| 午夜男人一级A片7777| 任你爽视频| 亚洲 欧美 91| 5252色欧美在线| 天天操av懂色| 69人妻精品丰满熟女区| 一二视频神马久久传媒| 大香蕉草草| 欧美综合网| 国产女同视频在线播放| 99热只有这里有精品| 国产亚州日韩欧美看片| 中文伊人大香蕉视频| 97超碰色屌| 亚洲宗合网| 外国免费性情大片| 一级性爱视频免费在线| 99久久久久久亚洲精品不卡| 精品久久无码午夜福利| 小情侣高清国产在线视频| 亚洲激情综合| 美女主播色欲91抠b在线播放| 色妇91| 亚洲毛片久久| 蜜乳AV免费观看| 国产精品视频精品一二| 好吊妞转入那个网| 91天美传媒在线观看| 久久大香蕉97| 自怕偷自怕亚洲精品| 91狠狠综合久久| 亚洲、日韩、综合、另类| 久久精品国产精品| 3PAV乱伦视频| 怡红院一区二区熟女人妻| 青草青青久久久久久国产| 97公开久久| 97久久国产| 操逼视频免费日韩无码| 日韩美女久久一区二区三区| 久9久9精品| 九九热AV| 久久五月综合| 亭亭在线资源| 国产日韩精品无码去免费专区国产| 偷窥自拍A片| 2019AV天堂| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 欧美熟女操屄| 一区麻豆 高清中文字幕| 天干天干天干天天做| 大学生口爆吞精| 久操高青| 天天干电影| 国产尹人在线视频免费| 婷婷色中文字幕| 四虎精品一区| 一级婬片120分钟试看| 红杏大香蕉| 国内毛片四区| 免费av大片| 中文字幕诱惑制服人妻丝袜美丝袜美| 中文字幕天堂在线| 国产乱婷婷精品二区三区| 超碰99在线| 色欲天天综合网| 欧美在线大香999| 国产色精品午夜大片| 99热在线播放| 奶水 人妻 哺乳 在线| 一区二区娱乐网站| 日本一卡二区在线| 国产精品一区二区黄片| 欧美美逼| 久久xx| 精品欧美乱码久| 伊人AAA| 九九热三级片| 999在线电影香蕉| 中文字幕丰满子伦无码专区在线视频最新 | 99精品成人免费看| 国产精品欧美激在线| 男女做爰猛烈动高潮A片免费应用| 欧美日韩国产中文精品字幕自在自线, | 五月综合激情| 日韩情色一区二区| 蜜臀av在线播放一区二区三区| 日韩精品大香蕉伊人在线| 岛国视频一二三区| 情色五月天就去干| 国产亚洲禁久一区二区| 风间由美日韩欧美久久| 中国女人内射6XXXXX| 中出20p| 伊人久久艹| 狠日欧美| 人人超碰在线观看黄| 91欧美大片| 亚洲欧美日产国产91毛片| 中文字幕一区二区日韩网| 天综合网欧美| 99性爱视频| 亚洲成人ab| 中美日韩毛片| 激情网色| 97超碰欧美精品| 熟女人妻av在线资源,黄色的资源| 久久久精品久久| 十八禁啪啦拍视频无遮挡| 国产97色在线| 操学生天天| 91free福利| 熟女少妇一区二区三区| 久久嫩草国产成人一区| 中文一区在线视频| 96精品久久| 久久久111| 户外裸露刺激视频第一区| 国产精品网址| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 欧美亚洲| 天天看人人操屄犊摸阴| 蜜乳AV色欲AVAV无码| 91骚熟女| 久久亚洲av成人无码国产| 欧美成人国产精品| 黄色污污污污污污网站| 亚洲中文字母在线播放| 亚洲āv网址在线观看| 日韩有码回春沙龙第一页| 亚洲精品天天影视综合网 | 无码视频一区二区| 丁香六月激情综合| 综合欧美激情网| 国产h小视频在线观看免费| 超碰无码五月97| 日韩内射视频| 天天天天干| 色综合av男人天堂| 亚洲AV成人无码一二三久久 | 超碰在线综合97| 午夜天堂精品久久| 亚洲欧洲网站免费观看| 日本1区2区不卡视频| 欧美AB在线| 97在线资源| 内射中出日韩在线观看视频| 久草视频制服诱惑| 国产按摩一区二区三区| 亚洲综合一区二区| 在线色导航| 99re免费视频精品全部| 免费观看一区| 熟妇一区二区| 国产尤物在线三区| 啊啊啊久久久视频| SUV一区二区在线看| 91色黑人少妇| 亚洲国产剧情少妇激情| 资源在线观一 二| 婷婷五月天丁香| 激情五月天社区| 超碰在线欧美性爱激情| 日产操逼| 极品销魂美女一区二区| 日本精品一区二区三区四区的功能| 高颜值美女口爆高潮浪叫| 精品人妻视频一区二区在线播放 | 黄色AAAAA欧美| 18禁免费视频| 国产一区免费午夜视频| 9国产超碰| 都市久久精品激情亚洲| 日本成人免费一区二区三区| 日韩视频精品在线观看| 色色网91| 高清一区AV无码| 国产亚洲精品av一区| 日韩人妻中文视频| 综合影院永久入口国产| 97亚洲精品| 丰满美女一级毛片在线播放| 7777奇米影视久久| 日韩成人精品视频自拍| 天天色天天干天天射| 少妇干B| 国产欧美日韩一区二区三区| 国产一区二区精品久久99| 99在线无码精品秘 入口黑人| caoni国产亚洲av| 亚洲综合色婷婷| 亚洲AV无码天美传媒一区| 久久久久中出| 亚洲中文人妻色| 色月天AV导航| 天天插天天操天天摸天天射天天看| 舔舔啊| 超碰色老头| 国产熟妇 码视频户外直播| 久久精品国产亚洲妲己影视| blacked精品一区国产| 婷婷亚洲色| 吉田爱美AV在线| 在线播放中文字幕| av网站免费看| 把腿张开老子CAO烂你| 人人操AV| 国产九九久久久精品| 日韩中文字幕宗合在线| 99999久久精| 亚洲av综合伊人久久| 亚洲午夜福利视频| 欧美熟女少妇| 超碰无码五月97| 97国产精品久久久久| 欧美综合网| 五月天玖玖资源站| 成人熟女视频一区二区三区| 天天操天天日天天干| 日韩色香| 高清国产无码av| 亚洲天堂 视频你懂的| 麻豆国产原创AV色哟哟| 夜夜做夜夜爽精品视频| 精品日韩人妻视频| 大香蕉啪啪啪| 曰韩少妇无码| 蜜臀AV一区二区三区| 欧美日韩色综合网| 国语人妻精彩刺激| 丰满少妇精品一区二区| 国模无码人体一区二区三| 亚洲丁香花色| av东京热男人的天堂| 久久超碰天天| 久草视频在线视频在线视频在线观看| 激情综合97| 亚洲自拍青操视频| 国产一级特黄大片处女| 国产原创精品| 美欧色综合| 人成午夜免费大片| 使劲用力艹少妇视频一区二区| 日本一区不卡| 啪啪啪综合网| 久久久久78| 秋霞色色影院| 日本色色色视频| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 中国熟妇| 高清无码在线播放网站| 无码一区二区三区四区五区六区七区八区九区十区视频 | 97超碰中文| 久久精品日韩| 亚洲综合图色在线| 翔田千里爆乳巨臀无码| 久久久蜜桃一区二区三区| 中韩中文字幕在线观看| 人看人人摸人人操| 久久精品人妻一区二区三区| 国产亚洲性生活视频播放| 高清不卡一二三区视频......| 久久久偷拍| 久久婷婷精品| 久久9精品| 久久午夜伦| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 精品人妻一区春色| 亚洲欧洲综合成人av一区| ′ !γ}丶。。久久精品欧美一区二区三区 | 无码国产精品午夜不卡(| 97精品中文字幕| 亚乱色| 在线亚洲精品久久久| 欧美aa一级片| 欧亚日韩综合精品国产| 久久欲| 中文字幕久久精视频久久大全| 色视频蜜乳| 久久久9视频| 热无码中文亚洲H一道本一区二区| 日韩免费人妻色情网站| 综合亚州欧美| 99亚洲天堂| 中文字幕第二页| 五月丁香色婷婷| 五月亭亭六月丁香| 美女毛片999| 日韩少妇一区二区三区| 91M一社| 嗯啊不要在线| 男女做爰猛烈动高潮A片免费应用 少妇厨房愉情理伦片bd在线观看 不卡中文字幕aⅴ在线 | 超碰人人色| 亚州性9| 懂色AV中文| 亚洲五码一区二区三区| 国语精品av| 800zy一区二区| 一区二区三区探花在线观看| 夜夜骑日日| 91九久| 久久久久9999| 啊啊啊啊好疼视频| 人妻久久久久久久久久久久久久久| 97免费视频在线观看| 夜夜騷av、一區二區| 日韩av不卡在线观看| 亚洲天堂男人天堂| 美女诱惑在线一区| 人人透人人操| 1769国内精品视频| 国内一级精品| 人人操天天爽| 97最新在线播放视频| 国产一国产一级毛片古装| 美女毛片999| 夜色五月天| 强奸乱伦大香蕉| 国色综合天| 诱惑人妻欧美一区在线播放| 在线观看av区| 亚洲精品一区二区精华| 深夜激情 | A一区片| 国产999精品久久久| 丰满搜索结果 -第18页- 久久高清无码 | 人人人人插| 国产精品久久| 亚欧美无遮挡| 成人黄页| 99色在线观看| 操逼啊啊啊91| 欧美不卡在线一区二区| 久操国产在线| 久久 亚洲 日韩 人妻| 婷婷香蕉| 一级日本牲交大片好爽在线看| 久九九九九九九九热| 天天舔天天日天天射| 人妻精品视频一区二区| 国产偷人伦激情在线观看| 国内外激情在线| 久久久久9999妇女| 青青草原狼av| www.99热| 精品人妻中文字幕4399| 人妻精品视频一区二区三区| 91色亚洲| 加勒比av官网在线| 97色涩| 综精品久久久aaaa| 天美av在线观看| 国产又色又爽又舒服的三级视频| 天堂а√在线最新版在线| 高清国产无码av| 亚洲麻豆av一区二区| 老熟妇一区二区三区啪啪| 诱惑人妻欧美一区在线播放| 久操高青| 欧美性猛交美女自慰91| 成人情色一区二区| av天堂手机版追回| 亚洲蜜桃V妇女| 在线综合色| 综合操逼| 岛国黄色大片网站| 欧美日本中字另类在线| 欧美精品日韩久久久九| 国产成人无码啪| 国产福利在线视频网站| 成人八戒网站| 日韩欧美俄罗斯A片| 玖玖爱免费观看视频| 中文字幕一区二区日韩网| 涩涩这里只有精品视频| 操操逼操操逼操操逼逼| 欧美性爱一级操| 无遮挡猛进视频免费无限观看 | 蜜臀久久99精品久久久老,,| caorenqi shipin| 国产精品乱人伊人网| 亚洲色图欧美色图制服丝袜| 久久久久久久久久久久久久久乱码| 操人妻逼91| 青青伊人加勒比海| 欧美伦乱| 玖玖综合网| 中文字幕av亚洲精品| 老熟女搡BBBB搡BBBB视频| 嗯啊抽插大香蕉网页| 久久AV无码网址| 九九AV| 国产精品对白内射| 岛国小电影| 少妇诱惑视频| 久久同城AV| 香蕉精品二区二区| 国产强奸无码乱伦| 97资源站日韩| 91大神精品长腿在线观看网站| 天天干天天燥| 人妻少妇av在线观看| 欧美亚性天堂| 日韩精品99久久久久久中文字幕| Aa东京男人的天堂| 亚洲男人天堂手机版| jizz啪啪| 无遮挡h肉动漫在线观看| 久久黄黄| 亚洲人码13| 亚州综合色| 性色生活片久久毛片婬片免费放女人一级毛片 | 蜜臀久久久99久久久久 | 欧美夜夜草视频| 顶级丝袜熟女一区二区三区 | 无套内射人妻在线播放| 99久久久久| 白丝少妇一区二区| 日韩99999| 777AV电影| 97人肏| 欧美日韩精品久久久久东北老熟妇| 俺去啦自拍| 日韩一区二区精彩视频| 五月色网| 亚洲AV不卡在线观看尤物| 亚洲色婷婷综合久久久久中文| 国产中文字幕在线点播| 韩国午夜理伦三级好看| 四虎影库国产精品免费| 97欧美色资源| 午夜αv| 男人天堂久久精品不卡| 亚洲人妻中文在线视频| 亚洲激情AV| 天天日美女的B| 人妻精品免费一二三区| 国产女人91精品嗷嗷嗷嗷| 国产高清不卡视频| 成人性交免费视频| 国产精品无码AV网站| a人欧美综合天堂麻豆| 久久久日本电影| 欧美精品999| 久热99999| 99久久无码| 人妻熟女午夜精品在线| 久操av在线| japan日本高清乱xxxx| 四虎视频在线观看| 99久草| 在线国产探花| 国内成人圈中文字幕无码视频| 亚洲黄色AV电影| 精品人人插人人操| 人妻无码一区二区三区久久99| 亚洲国产精品成人综合| 有码人妻系列| 日产操逼| 九久9精品| 精品无码产区一区二| 亚洲 自拍偷拍 欧美| 国产SV一线| 亚洲97成人在线观看| 亚洲aw毛茸茸在线| 久久伊人最新网址视频| 伊人97超碰| 啊啊啊好想要| 丰满人妻一区二区三区在线| 91高潮| 欧美v日韩欧亚洲电影天堂色诱,国产传媒| 99热精品在线观看| AV中文在线| 久久久四区| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 青青草十区九区爱夜| 免费人成毛片乱码| 欧色综合| 国产免费黄色一级大片| 日本青青草在线| 免费一级黄色录像影片| 国产日韩中文字幕欧美| 亚洲天堂区| 国产区日韩区在线观看| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 亚洲中字慕不卡| 精品高清一区二区三区三州| 1024午夜激情男人的天堂| 黑人精品成人一区二区三区| 91精品国产91久久久久久久久久久久| 精品久久人妻成人网| 96国产精品| 丁香五月影院| 啪啪视频免费在线观看| 99re3这里只有精品| 中文字幕久久精品一区| 亚洲极品| 日韩欧美综合激情| 久久曰曰| 欧美日韩操逼嗦吊| 男人天堂资源| yy少妇精品久久| 丁香五月天堂| 免费自拍三级综合| 97资源站日韩| 亚洲色图超碰在线| xxx0国产在线播放| 激情综合网亚洲| 精品美女少妇一区二区三区| 久热无码| 亚洲暴力强奸AV| 亚洲欧美在线丝袜| 欧洲精品在线播放| 久久人人爽人人爽人人片Ⅴ| 亚洲国产综合图区中文字幕| 十八禁一区二区无码观看| 亚洲欲色9532548967一区| 午夜福利无毒不卡| 校园春色亚洲| 啪啪啪男女亚洲中文字幕99| 欧美日韩国产中文精品字幕自在自线, | 国产激情在线| 亚洲黄片免费在线播放| 亚洲图片 欧美电影| 99国产精品在线观看| 91久热| 日本熟妇人妻中出视频| 91无遮挡| 麻豆色99999| 久噜噜| 粉嫩国产精品久久粉嫩| 欧美精品自慰系列寂寞少妇| 麻花豆传媒剧国产MV出差| 97色综合中文网| www.人人摸在线视频| 色色青青久久| 欧美精品第四五页中文字幕在线观看| 五月天偷拍| 99啪啪| 久久99午夜精品一区人妻| 蜜乳Av成人片网站| 内射老妇BBWX0C0CK| 91岛国动作片| 国产精品一区二区密臀| 日本熟妇自慰性高潮一区二区三区| 欧美丝袜激情| 国产a级精品| 亚洲不卡不卡中文字幕不卡| 日韩不卡在线一区二区| 熟女五十路一区二区三| 中字幕人妻一区二区三区| 亚洲精品一卡二卡三卡福利视频网站 | 久久久性少妇| 色制服丝袜夫妻av一区| 美国久久一二三四| 男人天堂日日夜夜| 久妇网| 亚洲AV资源| 96精品久久久久中文字幕| 天天添天天干电影| 亚洲人成色9999精品久久 | 日韩 欧美 国产 麻豆| 精品一区二区三区四区外站| 狠狠2050在线观看| 综合九九| 超碰欧美97资源| 91制服丝袜| 亚洲日韩精品一区二区| 福利视频网站| 91福利网在线观看| 国产隔壁老王影院在线| 国产成人无码啪| 大色综合网|