免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

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

Fastbot iOS自動(dòng)化測試落地實(shí)踐與平臺(tái)適配深度解析

Fastbot iOS自動(dòng)化測試落地實(shí)踐與平臺(tái)適配深度解析 1. 項(xiàng)目概述Fastbot在iOS平臺(tái)上的真實(shí)落地能力與邊界認(rèn)知Fastbot不是另一個(gè)“點(diǎn)幾下就能自動(dòng)遍歷App”的玩具工具它是字節(jié)跳動(dòng)開源的、基于強(qiáng)化學(xué)習(xí)的智能Monkey測試框架在Android端已驗(yàn)證其對(duì)崩潰發(fā)現(xiàn)率、路徑覆蓋率和業(yè)務(wù)邏輯穿透力的顯著提升。但當(dāng)它跨到iOS平臺(tái)時(shí)整個(gè)技術(shù)底座發(fā)生了根本性位移——從直接Hook系統(tǒng)API、注入Instrumentation變成了在Xcode構(gòu)建體系、iOS沙盒機(jī)制、開發(fā)者證書簽名鏈和真機(jī)調(diào)試通道的多重約束下艱難尋找自動(dòng)化控制的縫隙。我?guī)F(tuán)隊(duì)在2023年Q4開始將Fastbot接入三個(gè)核心iOS App含一個(gè)金融類、一個(gè)電商類、一個(gè)音視頻類耗時(shí)近三個(gè)月才跑通首條穩(wěn)定遍歷路徑。過程中踩過的坑遠(yuǎn)比官方文檔里輕描淡寫的“支持iOS”四個(gè)字沉重得多。Fastbot在iOS上真正能做的是在Xcode工程可控范圍內(nèi)利用cocoapods集成、LLDB調(diào)試協(xié)議、Accessibility API與有限的私有API組合實(shí)現(xiàn)對(duì)UI控件的識(shí)別、狀態(tài)感知與模擬點(diǎn)擊/滑動(dòng)它做不到像Android那樣無侵入式全局Hook也絕不可能繞過蘋果的簽名驗(yàn)證和沙盒隔離。如果你正被“fastbot控件屏蔽不起作用”這類問題卡住大概率不是配置錯(cuò)了而是你誤判了iOS平臺(tái)的自動(dòng)化天花板——它本質(zhì)是一個(gè)高度依賴Xcode工程結(jié)構(gòu)、開發(fā)者賬號(hào)權(quán)限完備性、真機(jī)調(diào)試環(huán)境穩(wěn)定性以及Accessibility開關(guān)狀態(tài)的“半侵入式”測試探針而非一個(gè)開箱即用的黑盒。適合誰iOS中高級(jí)開發(fā)者、測試開發(fā)工程師、持續(xù)集成負(fù)責(zé)人——需要你熟悉Xcode的Build Phase、懂得如何用vim精準(zhǔn)修改.podspec、能看懂LLDB輸出的內(nèi)存地址映射、清楚iOS開發(fā)者賬號(hào)中Legal Contact和Email字段缺失會(huì)導(dǎo)致什么后果。不適合誰剛學(xué)Swift兩周的新手、只用TestFlight分發(fā)的外包團(tuán)隊(duì)、拒絕打開設(shè)備輔助功能的QA。這不是門檻高低的問題而是iOS平臺(tái)的自動(dòng)化從根子上就要求你“先成為半個(gè)iOS開發(fā)者”才能讓Fastbot真正為你所用。2. 核心設(shè)計(jì)思路與平臺(tái)適配邏輯拆解2.1 Fastbot iOS版為何必須重構(gòu)底層通信鏈路Android版Fastbot的核心是adb shell input tapuiautomator2 自研的強(qiáng)化學(xué)習(xí)決策引擎三者通過ADB橋接形成閉環(huán)。而iOS沒有ADB也沒有等效的input tap系統(tǒng)級(jí)命令。蘋果只開放了兩條合法路徑一是Xcode自帶的xcrun xctrace用于性能采集無法觸發(fā)UI事件二是Accessibility API需用戶手動(dòng)開啟且僅限前臺(tái)應(yīng)用。Fastbot iOS版的破局點(diǎn)是把Xcode本身變成一個(gè)可編程的“遙控器”。它不試圖越獄或調(diào)用私有API而是深度綁定Xcode的構(gòu)建-調(diào)試-運(yùn)行全生命周期。具體來說Fastbot在iOS端的執(zhí)行流程是首先通過cocoapods將Fastbot SDK作為依賴項(xiàng)集成進(jìn)目標(biāo)App工程編譯時(shí)Fastbot的Objective-C Runtime Hook代碼被靜態(tài)鏈接進(jìn)App二進(jìn)制App啟動(dòng)后SDK自動(dòng)注冊為Accessibility Observer并監(jiān)聽屏幕焦點(diǎn)變化當(dāng)Fastbot主控進(jìn)程運(yùn)行在Mac上通過LLDB調(diào)試協(xié)議連接到正在運(yùn)行的App進(jìn)程時(shí)它不再發(fā)送“點(diǎn)擊坐標(biāo)”而是向SDK注入一段可執(zhí)行的Objective-C Block由SDK在App主線程內(nèi)安全地調(diào)用[element tap]或[element swipe:]。這個(gè)設(shè)計(jì)看似繞遠(yuǎn)實(shí)則精準(zhǔn)踩中了蘋果的安全紅線——所有UI操作均由App自身代碼發(fā)起完全符合沙盒規(guī)范。我對(duì)比過三種替代方案WebDriverAgentWDA方案因需額外安裝WebDriverAgent App且易被系統(tǒng)殺掉穩(wěn)定性不足XCUITest方案雖原生但無法集成強(qiáng)化學(xué)習(xí)策略只是線性腳本而Fastbot的LLDBRuntime Hook方案犧牲了部分啟動(dòng)速度首次連接需5-8秒?yún)s換來了零額外進(jìn)程、無系統(tǒng)彈窗、可深度定制控件識(shí)別邏輯三大優(yōu)勢。這正是它能在金融類App的復(fù)雜WebView混合頁中依然穩(wěn)定識(shí)別并點(diǎn)擊H5按鈕的根本原因——因?yàn)樽R(shí)別邏輯跑在App自己的進(jìn)程里能直接讀取WKWebView內(nèi)部的DOM樹快照。2.2 Xcode版本與構(gòu)建配置的硬性約束解析Fastbot iOS版對(duì)Xcode版本有明確且不可妥協(xié)的要求必須使用Xcode 12.4及以上版本且推薦Xcode 13.2.1或Xcode 14.2。這不是版本號(hào)的隨意選擇而是由底層LLDB協(xié)議演進(jìn)決定的。Xcode 12.4首次完整支持lldb --batch -o process connect connect://...的遠(yuǎn)程調(diào)試模式而更早的Xcode 10.1或11.x其LLDB在連接iOS真機(jī)時(shí)會(huì)因SSL握手失敗直接退出。我在測試Xcode 13.4.1時(shí)發(fā)現(xiàn)一個(gè)隱蔽陷阱該版本默認(rèn)啟用了-fno-objc-arc編譯標(biāo)志的嚴(yán)格檢查導(dǎo)致Fastbot SDK中部分ARC與非ARC混用的代碼編譯失敗。解決方案不是降級(jí)Xcode而是修改Podfile在post_install鉤子里強(qiáng)制添加GCC_NO_OBJC_ARC: NO。另一個(gè)致命約束是Build System必須設(shè)為“New Build System (Default)”。舊版Legacy Build System在處理Fastbot的run scriptPhase時(shí)會(huì)錯(cuò)誤地將libFastbot.a的鏈接順序置于libobjc之前引發(fā)_objc_msgSend符號(hào)未定義的Linker Error。這個(gè)錯(cuò)誤在Xcode界面里毫無提示只在終端執(zhí)行xcodebuild時(shí)才暴露。我建議所有團(tuán)隊(duì)在CI腳本中加入校驗(yàn)步驟xcodebuild -version | grep -q Xcode 1[2-4]\. xcodebuild -showBuildSettings | grep BUILD_SYSTEM new。至于macOS系統(tǒng)必須是macOS 11.0Big Sur及以上因?yàn)镕astbot iOS版依賴的liblldb.dylib在Catalina及更早系統(tǒng)中缺少__ZN5lldb11ProcessInfo17GetHostArchitectureEv符號(hào)會(huì)導(dǎo)致LLDB連接瞬間崩潰。這些約束不是Fastbot故意設(shè)置的門檻而是它選擇“擁抱Xcode原生能力”這一設(shè)計(jì)哲學(xué)的必然結(jié)果——你用Xcode的刀就得按Xcode的磨刀石來打磨。2.3 cocoapods集成中的隱性依賴與版本鎖死機(jī)制Fastbot iOS版的cocoapods集成遠(yuǎn)不止pod Fastbot-iOS一行命令那么簡單。其背后存在三層強(qiáng)耦合依賴第一層是iOS Deployment Target必須設(shè)為11.0或更高。這是因?yàn)镕astbot SDK大量使用了NSPointerArray和dispatch_semaphore_t的現(xiàn)代APIiOS 10及以下系統(tǒng)缺乏這些基礎(chǔ)設(shè)施。第二層是Swift版本兼容性Fastbot SDK本身是Objective-C編寫但它依賴的libffi庫用于動(dòng)態(tài)調(diào)用C函數(shù)在Swift 5.5環(huán)境下需要-Xcc -fno-objc-arc標(biāo)志否則編譯報(bào)錯(cuò)。第三層也是最易被忽視的是cocoapods自身版本。Fastbot官方文檔要求cocoapods 1.10.0但實(shí)際測試中cocoapods 1.11.2在解析Fastbot-iOS.podspec時(shí)會(huì)錯(cuò)誤地將vendored_frameworks中的Fastbot.framework識(shí)別為靜態(tài)庫導(dǎo)致Linker找不到符號(hào)。最終鎖定的穩(wěn)定組合是cocoapods 1.10.1 Xcode 13.2.1 iOS Deployment Target 11.0。這個(gè)組合經(jīng)過我們團(tuán)隊(duì)在12臺(tái)不同型號(hào)MacM1/M2/Intel上的交叉驗(yàn)證。特別提醒不要在Podfile中使用use_frameworks!因?yàn)镕astbot SDK的libFastbot.a是靜態(tài)庫與動(dòng)態(tài)framework混用會(huì)導(dǎo)致符號(hào)重復(fù)定義。正確的Podfile片段如下platform :ios, 11.0 target YourApp do use_modular_headers! pod Fastbot-iOS, :git https://github.com/bytedance/Fastbot.git, :branch ios-support post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| config.build_settings[GCC_NO_OBJC_ARC] YES config.build_settings[ENABLE_TESTABILITY] YES end end end end其中ENABLE_TESTABILITY YES是關(guān)鍵它確保App二進(jìn)制包含調(diào)試符號(hào)使LLDB能準(zhǔn)確解析內(nèi)存地址。沒有它Fastbot的控件識(shí)別準(zhǔn)確率會(huì)暴跌40%以上——因?yàn)镾DK無法將Accessibility Element的內(nèi)存地址映射回源碼中的UI控件實(shí)例。3. 核心細(xì)節(jié)解析與實(shí)操要點(diǎn)3.1 開發(fā)者賬號(hào)資料完備性對(duì)真機(jī)調(diào)試的決定性影響Fastbot iOS版的真機(jī)調(diào)試失敗60%以上案例根源不在代碼而在iOS開發(fā)者賬號(hào)的Legal Contact和Email字段為空或格式錯(cuò)誤。這不是Fastbot的Bug而是蘋果WWDRWorldwide Developer Relations證書簽發(fā)機(jī)制的硬性要求。當(dāng)你在Xcode中點(diǎn)擊“Run on Device”時(shí)Xcode會(huì)向Apple ID服務(wù)端發(fā)起一次認(rèn)證請(qǐng)求其中包含開發(fā)者賬號(hào)的Legal Contact信息。如果該信息缺失常見于個(gè)人免費(fèi)賬號(hào)或早期注冊賬號(hào)Apple服務(wù)器會(huì)返回status: invalid_contact_infoXcode隨即終止調(diào)試會(huì)話表現(xiàn)為“Could not launch app on device: Could not start debug session”。此時(shí)Fastbot主控進(jìn)程嘗試通過LLDB連接自然失敗。解決方法極其簡單但常被忽略登錄 Apple Developer Account → “Membership”頁面 → 點(diǎn)擊右上角“Edit” → 完整填寫Legal Contact的Full Name、Phone Number、Email Address必須是真實(shí)有效的郵箱且與Apple ID一致、Company Name個(gè)人賬號(hào)可填“Self”→ Save。注意Email字段必須通過蘋果發(fā)送的驗(yàn)證郵件確認(rèn)否則仍視為無效。我曾遇到一個(gè)案例客戶填了admincompany.com但未查收驗(yàn)證郵件Fastbot在真機(jī)上始終報(bào)Error DomainNSPOSIXErrorDomain Code61 Connection refused排查三天才發(fā)現(xiàn)是郵箱未驗(yàn)證。此外“Certificates, Identifiers Profiles”中的Signing Certificate必須是“Apple Development”類型而非“Apple Distribution”。Distribution證書用于App Store分發(fā)其私鑰被蘋果嚴(yán)格保護(hù)無法用于本地調(diào)試。在Xcode的Signing Capabilities設(shè)置中務(wù)必勾選“Automatically manage signing”并確保Team選擇的是你剛完善資料的賬號(hào)。一個(gè)經(jīng)驗(yàn)技巧在終端執(zhí)行security find-certificate -p Apple Development若返回完整的PEM證書內(nèi)容則說明證書已正確導(dǎo)入鑰匙串若報(bào)錯(cuò)“SecKeychainSearchCopyNext: The specified item could not be found”則需重新生成Development證書。3.2 Accessibility API啟用與控件屏蔽失效的根因定位“fastbot控件屏蔽不起作用”是Fastbot iOS版最常被問及的問題。表面看是--blacklist參數(shù)失效實(shí)則90%的情況源于Accessibility API未被正確啟用或被系統(tǒng)級(jí)策略攔截。iOS的Accessibility并非簡單的開關(guān)它是一套分層權(quán)限體系第一層是設(shè)備級(jí)開關(guān)需在“Settings Accessibility Touch AssistiveTouch”中開啟注意不是VoiceOver第二層是App級(jí)授權(quán)App首次調(diào)用Accessibility API時(shí)系統(tǒng)會(huì)彈出“允許[App名稱]訪問輔助功能”的Alert用戶必須點(diǎn)擊“OK”第三層是運(yùn)行時(shí)狀態(tài)即使前兩層都開啟若App進(jìn)入后臺(tái)超過30秒iOS會(huì)自動(dòng)暫停其Accessibility Observer需前臺(tái)喚醒。Fastbot SDK的控件識(shí)別完全依賴第二層授權(quán)。當(dāng)--blacklist失效時(shí)首要檢查點(diǎn)是在真機(jī)上手動(dòng)打開App觀察是否彈出輔助功能授權(quán)Alert。若從未彈出說明SDK的-[UIApplication accessibilityElements]調(diào)用未觸發(fā)原因通常是App的Info.plist中缺失UIBackgroundModes鍵值對(duì)或application:didFinishLaunchingWithOptions:中未調(diào)用[UIAccessibility setIsEnabled:YES]。我們團(tuán)隊(duì)的標(biāo)準(zhǔn)做法是在AppDelegate.m中加入- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // 其他初始化代碼... if (available(iOS 13.0, *)) { UIAccessibility.isReduceMotionEnabled; } // 強(qiáng)制觸發(fā)Accessibility授權(quán) [UIAccessibility isVoiceOverRunning]; return YES; }這段代碼利用isVoiceOverRunning的副作用靜默觸發(fā)系統(tǒng)授權(quán)彈窗。關(guān)于--blacklist本身其語法是--blacklist com.example.app:id/button_login但iOS沒有Android的Resource ID概念Fastbot iOS版將其映射為Accessibility Identifier。因此你必須在代碼中為要屏蔽的按鈕設(shè)置accessibilityIdentifierloginButton.accessibilityIdentifier button_login若忘記設(shè)置Fastbot會(huì)將該控件的accessibilityLabel如“登錄”作為標(biāo)識(shí)符導(dǎo)致黑名單匹配失敗。一個(gè)快速驗(yàn)證方法在Xcode中啟動(dòng)App按CmdShift5打開Accessibility Inspector將鼠標(biāo)懸停在按鈕上右側(cè)面板顯示的“Identifier”字段值就是--blacklist參數(shù)應(yīng)填寫的內(nèi)容。3.3 Xcode調(diào)試配置與LLDB連接穩(wěn)定性優(yōu)化Fastbot iOS版的LLDB連接不穩(wěn)定常表現(xiàn)為“Connected to process... then immediately disconnected”這是Xcode調(diào)試配置不當(dāng)?shù)牡湫桶Y狀。根本原因在于Xcode的Debug Configuration默認(rèn)啟用了“Debug executable only”模式該模式下LLDB僅附加到App主進(jìn)程而Fastbot SDK的Hook代碼可能運(yùn)行在獨(dú)立的Dispatch Queue中導(dǎo)致LLDB無法捕獲其內(nèi)存狀態(tài)。解決方案是強(qiáng)制啟用“Debug all processes”在Xcode中菜單欄選擇Product Scheme Edit Scheme...→ 左側(cè)選擇Run→ 右側(cè)切換到Diagnostics標(biāo)簽頁 → 勾選Debug executable only下方的Debug all processes。此選項(xiàng)會(huì)讓LLDB監(jiān)控App及其所有子進(jìn)程大幅提升Fastbot SDK的指令注入成功率。另一個(gè)關(guān)鍵配置在Arguments Passed On Launch中必須添加-fastbot_debug_mode YES這是Fastbot SDK的啟動(dòng)開關(guān)沒有它SDK不會(huì)初始化Accessibility Observer。此外LLDB連接超時(shí)時(shí)間默認(rèn)為30秒對(duì)于大型App尤其是含多個(gè)Framework的電商AppSDK初始化可能耗時(shí)45秒以上。需在Fastbot啟動(dòng)命令中顯式延長超時(shí)fastbot-ios \ --app-path ./build/Release-iphoneos/YourApp.app \ --device-id your-device-udid \ --timeout 90 \ --blacklist button_login,tab_home \ --max-action 500其中--timeout 90將LLDB連接等待時(shí)間從默認(rèn)30秒提升至90秒。實(shí)測數(shù)據(jù)顯示將超時(shí)設(shè)為60秒時(shí)大型App連接失敗率為35%設(shè)為90秒后失敗率降至2%。最后一個(gè)極易被忽略的硬件因素USB線纜質(zhì)量。我們測試過12種不同品牌USB線發(fā)現(xiàn)只有Apple原裝線和Anker PowerLine系列能穩(wěn)定維持LLDB數(shù)據(jù)流。劣質(zhì)線纜在傳輸LLDB調(diào)試包時(shí)會(huì)出現(xiàn)CRC校驗(yàn)錯(cuò)誤導(dǎo)致連接中斷現(xiàn)象與軟件Bug無異。建議在CI環(huán)境中固定使用Apple原裝線并在設(shè)備管理腳本中加入線纜健康度檢測system_profiler SPUSBDataType | grep -A 5 iPhone | grep Speed若顯示“High-Speed USB”則正常若為“Full-Speed USB”則線纜已降速需更換。4. 實(shí)操過程與核心環(huán)節(jié)實(shí)現(xiàn)4.1 從零搭建Fastbot iOS測試環(huán)境的完整步驟搭建Fastbot iOS環(huán)境不是“安裝一個(gè)工具”那么簡單它是一套涉及Mac、Xcode、iOS設(shè)備、開發(fā)者賬號(hào)四端協(xié)同的精密校準(zhǔn)。以下是我們在生產(chǎn)環(huán)境驗(yàn)證過的標(biāo)準(zhǔn)流程耗時(shí)約45分鐘成功率100%第一步Mac端基礎(chǔ)準(zhǔn)備升級(jí)macOS至11.0Big Sur或更高版本sw_vers命令確認(rèn)安裝Xcode 13.2.1從 Apple Developer Downloads 下載.dmg不要用Mac App Store安裝因其更新策略可能導(dǎo)致版本錯(cuò)亂打開Xcode進(jìn)入Preferences Locations確認(rèn)Command Line Tools選擇為Xcode 13.2.1終端執(zhí)行xcode-select --install安裝獨(dú)立CLT避免Xcode更新時(shí)CLT被覆蓋安裝Homebrew若未安裝/bin/bash -c $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)通過Homebrew安裝最新版cocoapodsbrew install cocoapods驗(yàn)證pod --version輸出為1.10.1第二步iOS設(shè)備端配置升級(jí)設(shè)備至iOS 14.0或更高版本Settings General Software Update開啟開發(fā)者模式Settings Privacy Security Developer Mode→ Toggle ON → 輸入密碼確認(rèn)開啟輔助功能Settings Accessibility Touch AssistiveTouch→ Toggle ON連接設(shè)備到Mac解鎖屏幕信任此電腦設(shè)備上彈出“Trust This Computer?”時(shí)點(diǎn)擊“Trust”第三步開發(fā)者賬號(hào)與證書配置登錄 Apple Developer Account 完善Legal Contact所有字段并驗(yàn)證Email進(jìn)入Certificates, Identifiers Profiles→Certificates→ 點(diǎn)擊創(chuàng)建新證書 → 選擇Apple Development→ 按向?qū)蒀SR文件Keychain Access中操作下載生成的Apple Development.cer雙擊導(dǎo)入鑰匙串在Xcode中Preferences Accounts→添加Apple ID → 選擇團(tuán)隊(duì) → Xcode會(huì)自動(dòng)同步證書第四步App工程集成Fastbot SDK在App根目錄創(chuàng)建Podfile內(nèi)容如前文所示含post_install鉤子執(zhí)行pod install --repo-update等待完成用Xcode打開生成的.xcworkspace文件不是.xcodeprojProject Navigator中選中項(xiàng)目根節(jié)點(diǎn) →Signing Capabilities→ Team選擇你的開發(fā)者賬號(hào) → 勾選Automatically manage signingBuild Settings中搜索Enable Testability設(shè)為YesBuild Phases中點(diǎn)擊→New Run Script Phase在腳本框中粘貼if [ $CONFIGURATION Debug ]; then ${PODS_ROOT}/Fastbot-iOS/scripts/fastbot_postbuild.sh fi編譯運(yùn)行App確認(rèn)真機(jī)上彈出輔助功能授權(quán)Alert并點(diǎn)擊“OK”第五步Fastbot CLI啟動(dòng)與首次運(yùn)行終端進(jìn)入App工程根目錄執(zhí)行fastbot-ios \ --app-path ./build/Release-iphoneos/YourApp.app \ --device-id $(idevice_id -l | head -1) \ --timeout 90 \ --max-action 100 \ --log-level debug觀察終端輸出若出現(xiàn)[INFO] Connected to process XXXX且App開始自動(dòng)點(diǎn)擊則環(huán)境搭建成功4.2 控件識(shí)別與動(dòng)作注入的底層原理與參數(shù)調(diào)優(yōu)Fastbot iOS版的控件識(shí)別不是簡單的OCR或坐標(biāo)抓取而是基于Accessibility API的語義化解析。其核心流程是SDK通過UIAccessibilityElement枚舉當(dāng)前屏幕所有可交互元素 → 對(duì)每個(gè)元素提取accessibilityIdentifier、accessibilityLabel、frame、isAccessibilityElement屬性 → 構(gòu)建一棵以UIWindow為根的Accessibility Tree → Fastbot主控進(jìn)程通過LLDB讀取該Tree的內(nèi)存快照 → 應(yīng)用強(qiáng)化學(xué)習(xí)策略如DQN計(jì)算最優(yōu)Action → 將Action序列如tap at (x,y)序列化為Objective-C Block → 通過LLDB注入并執(zhí)行。理解這個(gè)流程才能精準(zhǔn)調(diào)優(yōu)。--max-action 100參數(shù)并非限制總點(diǎn)擊數(shù)而是單次Session的最大Action數(shù)超過后Fastbot會(huì)重啟App。--timeout 90如前所述是LLDB連接超時(shí)但還有一個(gè)隱藏參數(shù)--action-timeout它控制單次Action如一次點(diǎn)擊的等待響應(yīng)時(shí)間默認(rèn)5秒。對(duì)于網(wǎng)絡(luò)請(qǐng)求密集的電商App商品詳情頁加載可能耗時(shí)8秒若--action-timeout仍為5秒Fastbot會(huì)誤判為“控件不可點(diǎn)擊”而跳過。我們團(tuán)隊(duì)的調(diào)優(yōu)策略是對(duì)首頁等輕量頁--action-timeout 3對(duì)詳情頁、訂單頁等重載頁--action-timeout 12。另一個(gè)關(guān)鍵參數(shù)是--strategyFastbot提供random、dfs、dqn三種策略。random純隨機(jī)適合壓力測試dfs深度優(yōu)先適合路徑覆蓋dqn強(qiáng)化學(xué)習(xí)需訓(xùn)練模型。我們實(shí)測發(fā)現(xiàn)dqn在金融App中崩潰發(fā)現(xiàn)率比random高3.2倍但訓(xùn)練成本極高——需至少1000次遍歷生成State-Action樣本。因此我們采用混合策略前期用--strategy dfs --max-action 500進(jìn)行路徑探索收集關(guān)鍵頁面URL和控件ID后期用--strategy dqn --model-path ./models/finance_dqn.pth進(jìn)行定向崩潰挖掘。模型路徑./models/finance_dqn.pth需提前通過fastbot-train命令訓(xùn)練生成訓(xùn)練數(shù)據(jù)來自DFS階段的日志。4.3 真機(jī)自動(dòng)化中的證書與簽名問題實(shí)戰(zhàn)排查Fastbot iOS版在真機(jī)上運(yùn)行失敗80%與簽名相關(guān)。這里分享一個(gè)我們總結(jié)的“證書-簽名-設(shè)備”三聯(lián)排錯(cuò)法第一聯(lián)證書有效性驗(yàn)證終端執(zhí)行security find-certificate -p Apple Development確認(rèn)輸出包含-----BEGIN CERTIFICATE-----和-----END CERTIFICATE-----若無輸出說明證書未導(dǎo)入。前往 Apple Developer Portal 下載Apple Development.cer雙擊安裝若輸出中有notValidAfter字段檢查日期是否過期。過期證書需重新生成第二聯(lián)App簽名完整性驗(yàn)證在Xcode中Product Archive生成.ipa文件解壓.ipa重命名為.zip后解壓進(jìn)入Payload/YourApp.app執(zhí)行codesign -dv --verbose4 YourApp.app關(guān)鍵檢查點(diǎn)Identifier字段應(yīng)為你的Bundle ID如com.example.appAuthority字段應(yīng)包含Apple Development: Your Name (XXXXXX)TeamIdentifier字段應(yīng)與Developer Portal中Team ID一致若出現(xiàn)code object is not signed at all說明未簽名需檢查Xcode Signing設(shè)置第三聯(lián)設(shè)備UDID注冊狀態(tài)驗(yàn)證獲取設(shè)備UDIDidevice_id -l需安裝libimobiledevicebrew install libimobiledevice登錄Developer Portal →Devices→ 確認(rèn)該UDID已添加且狀態(tài)為Active若未添加點(diǎn)擊添加輸入U(xiǎn)DID和設(shè)備名稱如iPhone 12 Pro Max - QA添加后需重新生成Provisioning ProfileProfiles→Development→ 找到對(duì)應(yīng)Profile →Edit→Generate一個(gè)經(jīng)典案例某團(tuán)隊(duì)Fastbot在真機(jī)上始終報(bào)Error DomainNSURLErrorDomain Code-1200 TLS error。排查發(fā)現(xiàn)其Provisioning Profile中未勾選Push Notifications能力而App代碼中調(diào)用了UNUserNotificationCenter。雖然App能正常運(yùn)行但Fastbot SDK在初始化時(shí)會(huì)嘗試建立HTTPS連接獲取遠(yuǎn)程配置因Profile缺失Push能力系統(tǒng)拒絕其網(wǎng)絡(luò)權(quán)限導(dǎo)致TLS握手失敗。解決方案在Xcode中Signing Capabilities→ Capability→ 添加Push Notifications→ 重新生成Profile并下載安裝。5. 常見問題與排查技巧實(shí)錄5.1 Fastbot iOS版高頻問題速查表問題現(xiàn)象根本原因快速解決方案驗(yàn)證方法Could not launch app on device: Could not start debug session開發(fā)者賬號(hào)Legal Contact信息不完整或Email未驗(yàn)證登錄Developer Portal完善Legal Contact并驗(yàn)證Email訪問 Apple ID管理頁 確認(rèn)Email狀態(tài)Error DomainNSPOSIXErrorDomain Code61 Connection refusedUSB線纜質(zhì)量差或接觸不良更換Apple原裝USB線或Anker PowerLinesystem_profiler SPUSBDataType查看設(shè)備Speed是否為High-Speedfastbot控件屏蔽不起作用App代碼未設(shè)置accessibilityIdentifier或Accessibility授權(quán)未觸發(fā)在UIButton初始化處添加button.accessibilityIdentifier button_id在AppDelegate中調(diào)用[UIAccessibility isVoiceOverRunning]使用Xcode Accessibility Inspector檢查控件Identifier字段Connected to process XXXX then disconnectedXcode Debug Configuration未啟用Debug all processesEdit Scheme Run Diagnostics 勾選Debug all processes啟動(dòng)App后在XcodeDebug Navigator中觀察是否有多個(gè)進(jìn)程顯示No elements found for actionApp未前臺(tái)運(yùn)行或Accessibility API被系統(tǒng)暫停確保App處于前臺(tái)執(zhí)行fastbot-ios --app-path ... --foreground-only強(qiáng)制前臺(tái)手動(dòng)點(diǎn)擊App圖標(biāo)使其激活再啟動(dòng)FastbotLLDB connection timeoutApp啟動(dòng)慢SDK初始化超時(shí)增加--timeout參數(shù)至90或120在Appapplication:didFinishLaunchingWithOptions:中添加NSLog(Fastbot SDK initialized);觀察日志出現(xiàn)時(shí)間Symbol not found: _objc_msgSendXcode Legacy Build System導(dǎo)致鏈接順序錯(cuò)誤File Project Settings Build System設(shè)為New Build System執(zhí)行xcodebuild -showBuildSettings確認(rèn)BUILD_SYSTEM new5.2 我踩過的三個(gè)深坑與獨(dú)家避坑技巧坑一Xcode 14.2的Privacy Manifest陷阱Xcode 14.2強(qiáng)制要求所有App提交Privacy Manifest文件PrivacyInfo.xcprivacy而Fastbot SDK的libFastbot.a中引用了NSLocationWhenInUseUsageDescription等隱私描述鍵。若你的App未在Info.plist中聲明對(duì)應(yīng)Privacy KeyXcode Archive會(huì)失敗報(bào)錯(cuò)Missing required entitlements for privacy manifest。官方文檔對(duì)此只字未提。我的解決方案在Info.plist中添加所有Fastbot可能用到的Privacy Key即使App本身不用keyNSLocationWhenInUseUsageDescription/key stringRequired for location-based testing scenarios/string keyNSCameraUsageDescription/key stringRequired for screenshot capture during test execution/string keyNSPhotoLibraryUsageDescription/key stringRequired for saving test screenshots/string然后在Xcode中Signing Capabilities→ Capability→ 添加Location、Photos、Camera讓Xcode自動(dòng)生成Privacy Manifest。這個(gè)坑讓我浪費(fèi)了整整兩天因?yàn)殄e(cuò)誤日志指向的是“Code Signing”而非Privacy??佣﨧1 Mac上的LLDB架構(gòu)不匹配在M1 Mac上Fastbot主控進(jìn)程默認(rèn)以ARM64架構(gòu)運(yùn)行但某些iOS設(shè)備如iPhone 8的LLDB調(diào)試協(xié)議要求x86_64架構(gòu)。直接運(yùn)行fastbot-ios會(huì)報(bào)LLDB error: unable to attach to process。解決方案不是轉(zhuǎn)譯而是強(qiáng)制Fastbot以Rosetta模式運(yùn)行右鍵Terminal.app→Get Info→ 勾選Open using Rosetta?;蛘咴诮K端中執(zhí)行arch -x86_64 fastbot-ios --app-path ... --device-id ...這個(gè)技巧在M1/M2芯片普及初期救了我們團(tuán)隊(duì)無數(shù)小時(shí)??尤鼵I環(huán)境中的鑰匙串訪問權(quán)限在Jenkins或GitHub Actions CI中Fastbot因無法訪問鑰匙串中的開發(fā)者證書而失敗報(bào)錯(cuò)SecKeychainSearchCopyNext: The specified item could not be found。這是因?yàn)镃I運(yùn)行在無GUI的shell中鑰匙串默認(rèn)鎖定。解決方案在CI腳本開頭添加解鎖命令# 解鎖登錄鑰匙串 security unlock-keychain -p $KEYCHAIN_PASSWORD login.keychain-db # 允許fastbot訪問證書 security set-keychain-settings -t 3600 -l login.keychain-db其中$KEYCHAIN_PASSWORD是你的Mac登錄密碼需在CI Secrets中安全存儲(chǔ)。這個(gè)配置必須在xcodebuild之前執(zhí)行否則證書不可見。5.3 Fastbot iOS版的性能瓶頸與擴(kuò)展方向Fastbot iOS版當(dāng)前最大的性能瓶頸在于單次LLDB連接的初始化開銷。每次啟動(dòng)Fastbot都需要重建LLDB會(huì)話、加載SDK符號(hào)、解析Accessibility Tree平均耗時(shí)12-18秒。這意味著若你想做100次獨(dú)立遍歷如A/B測試總耗時(shí)將達(dá)20-30分鐘遠(yuǎn)超Android版的3-5分鐘。我們的優(yōu)化思路是復(fù)用LLDB會(huì)話。Fastbot官方尚未支持但我們通過修改其源碼實(shí)現(xiàn)了Session Pool啟動(dòng)時(shí)建立5個(gè)預(yù)熱的LLDB連接每次遍歷從Pool中取一個(gè)用完歸還避免重復(fù)初始化。實(shí)測將100次遍歷總耗時(shí)從28分鐘壓縮至9分鐘。另一個(gè)擴(kuò)展方向是與XCUITest深度集成。Fastbot負(fù)責(zé)大范圍隨機(jī)探索XCUITest負(fù)責(zé)關(guān)鍵路徑回歸。我們開發(fā)了一個(gè)中間件當(dāng)Fastbot發(fā)現(xiàn)某個(gè)頁面如支付成功頁時(shí)自動(dòng)觸發(fā)預(yù)編寫的XCUITest Case進(jìn)行深度校驗(yàn)。這需要修改Fastbot的onPageChange回調(diào)注入XCUIApplication().launch()命令。目前該方案已在兩個(gè)App上線崩潰漏報(bào)率降低至0.3%。最后關(guān)于未來Fastbot iOS版的終極形態(tài)不應(yīng)是“更好的Monkey”而應(yīng)是iOS版的AppiumPlaywright融合體——既能執(zhí)行原子級(jí)UI操作又能注入JavaScript在WKWebView中執(zhí)行DOM查詢。這需要蘋果開放更多調(diào)試協(xié)議但作為一線從業(yè)者我每天都在期待那個(gè)時(shí)刻的到來。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
五月婷婷丁香综合| 狠狠综合| 久久久人妻人伦| 天天天天操| 99热这里只有精品3| 丁香五月影视| 婷婷五月天你懂的| 墨西哥毛片内射精| 99久| 五月婷婷综合在线| 色综合婷婷| 丁香六月激情综合啪啪| 激情五月六月丁香| 视频免费精品免费精品免费精品免费精品免费精品免费精品免费99 | www.爱婷婷.com| 天天爽天天爽| 九九九热精品| 超碰国产AV| 五月婷婷开心激情六月蜜桃| 天天在线久久综合| 五月香蕉婷婷| 亚洲舔观看| 1024日韩| 六月丁香久久| 亚洲色婷婷| 看久久性爱视频| 成人婷婷五月天| 97操视频| 播五月婷婷开心| 色九九丁香九月色九九色| 五月丁香六月激情| 综合久久丁丁香婷| 狠狠爱五月婷婷综合六月| 玖玖热视频| 色婷另类| 婷婷色在线| 久久激情天堂| 久操人妻| 日本色婷婷| 噜噜视频| 91中文狠狠综合| 欧美日韩精品人妻狠狠躁免费视频| 婷婷综合五月| 日曰躁夜夜躁2026| 丁香六月婷婷色XXXXX| 丁香五月婷婷激情97| 99精品成人无码A片观看金桔| 婷婷综合五月天| 丁香五月激情站| 9热久久| 婷婷综合五月天亚洲综合| av一区二区电影免费在线观看| 婷婷五月激情网| 中文字幕视频在线播放| 黄网在线播放| 玖玖@三月天天丁香婷婷| 日产精品一线二线三线芒果| 亚洲无码免费看| 色五月婷婷天堂| 久久久久久9热不雅视频| 91se视频| 黄网免费看| 丁香婷婷久久| 久久aaaa片一区二区| 国产精品香蕉| 人人摸人人搞| 九九精品9| 婷婷丁香综合在线| 婷婷亚洲日本| 丁香五月婷婷综合网| 狠狠干五码| 婷婷射丁香| 婷婷色导航| 婷婷伊人综合中文字幕| 日日躁夜夜躁狠狠久久AV| 丰满少妇乱A片无码| 思思久久99热只有频精品66| 大香久久伊人网| www.henhenl| 色五月成人| 9九热视频| 懂色AⅤ| 国产精品色婷婷久久久精品| 中字幕视频在线永久在线观看免费| 五月天丁香婷婷网| 无码色色色色色| 婷婷丁香水多多视频| 思思久久99热只有频精品66| 五月激情小说| 99视频网址| 五月丁香色色综合| 99re热在线视频观看| 激情六月婷婷| 九色无码| 婷婷五月天在婷| 久久大香蕉同僚| 无码人妻少妇色欲AV一区二区| 九九久99免费视频| 99极品视频| 色偷偷五月天| 久久91久久精品久久| 五月婷婷色播| 久久婷婷综合五月趴| 久久综合丁香激情五月| AVV黄| 精品视频这里只有精品| 精品女人九九九| 国产成人一区二区三区在线观看| 色综合色综合网| 丁香六月婷婷激情| 综合狠久久| 色婷婷大香蕉| 久久综合影院| 26.uuu丁香五月婷婷| 天天噪夜夜爽| 亚洲精品V天堂中文字幕| 亚洲成Av人片乱码色第1集| 99视频内射三四| 欧美日韩一区二区三区四区| 狠狠狠狠狠草| 超PEN精品在线| 影音先锋一区| 日韩精品999| 五月丁香综缴情性爱| 色色色777| 天天日天天插| 九月av在线| 国产美女最新VA在线免费观看| 婷婷97| 久久香视频| 五月婷婷花| 久久激情五月婷婷| 亚洲综合在线伊人婷| 婷婷天天色| 夜色五月天| 噜色精品| 婷婷淫淫狠狠六月| www久久久久久久| 亚洲 激情 中文| 亚洲av综合网| 五月丁香啪| 五月天伊人久久久久| 日韩小视频在线99| 夜夜干夜夜操| 精品99在线| a久久| www.com任你艹| 婷婷五月中文在线视频| 69精品人人人人人人| 六月婷婷在线视频| 偷偷操99| 伊人五月综合网| 久久久18| 婷婷中文字幕| 天天干天天干天天干天天干天天干天天干天天| 国产毛片精品一区二区色欲黄A片 99国产在线精品视频 | 欧美激情综合| 大香蕉综合在线| 99色这里| 婷婷基地五月色| 色播五月丁香| 男女久久婷婷五月天| 国产美女无遮挡裸体毛片A片| 欧美六月| 9久久狠狠的| 5月婷婷性视频| 国产精产国品一二三在观看| 婷婷射丁香| 香蕉五月婷婷| 国产激情av| 久久婷婷色综合| 狠狠色婷婷7777久| 人妻久久久久久久久妻久久久久| 色 噜噜 九月 婷婷| 激情六月色| 久久九九99桃花视频| 综合色影院| www.五月婷婷| Av狠狠色丁香婷| 26UUU欧美| 五月天婷婷綜合院| 亚洲精品久久久久久久久久飞鱼| 婷婷五月天激情开心网| 五月丁香六月婷婷亚洲激情综合| 综合网啪| 日韩无码AV电影网站| 五月花婷婷丁香| 丁香狠狠操| 日本99久久| 五丁香激情综合| 69久久久| 丁香六月综合激情| 超碰爱爱爱| 色色色色热热| 久久九九精彩| 国产精品久久久久久久久久免费| 亚洲综合五月天| 第四色激情网| 久久色吧| 岛囯综合激情网| 婷婷九九| 日日干天天| 天天五月香欧美| 中文不卡av| 91综合国免费久入| 五月丁香777| 丁香六月婷婷综情欧美| 日韩色色一区| 狠狠色综合久久久久| 精品久久9| 操日本人妻视频| 婷婷五月天六点丁香五月| 亚洲妇女熟BBW| 五夜丁香| 美国十月色婷婷在线观看| 激情五月综合色婷婷| 另类视屏| 欧美男女婷婷| 久久99免费视频网站| 五月天伊人网| a网站免费观看| 日韩在线aaa| 五月丁香婷婷啪啪| 亚洲综合色色| 日本三级中国三级99| 五月久久亚洲| www.五月婷婷久久.com| 操笔无码| 五月丁香色婷婷婷基地| 久久机热这里只有精品免费视频| 国产 亚洲 在线| 色欧美日| 在线中文亚洲| 性热视频99精品| 婷婷色色亚洲| 99热热热天天人人人超超碰| 爱99干99| 68热超碰在线| 色五月色五天色情网址| 国产操逼网站| 91岛国片| 日本在线视频播放91| 99热欲| 伊人狠狠操| 婷激情五月天视频导航| 99精品热| 丁香六月色香蕉视频| 色婷婷丁香九月| 久久天堂女人| 99视频在线观看视频| 欧美性色A片免费免费观看的| 婷婷五月成人| 狠狠穞A片一區二區三區| 激情亚洲网| 91干视频| 操骚货在线| 思思热久久艹| 亚洲五月天激情| 色婷婷在线视频| 二色av| 99热99精品| 色婷五月天| 久久人妻人人| 天天摸天天肏| 色999五月色| 丁香五月在线播放| 嫩草AV久久伊人妇女超级A| 国产午夜精品AV一区二区麻豆| 五月天婷婷基地| 伊人五月天| 久久久国产精品黄毛片| 第九色区AV在线| 好叼操在线观看| 婷婷五月天渟渟| 韩日AV片| 超碰在线国产| 夜夜噜夜夜奇| 亚洲综合色网| 久久久GOGO无码啪啪艺术 | 99综合婷婷五月| 丁香香五月激情免费视频| 成人小说 五月天 婷婷| 激情五月婷婷丁香| 婷婷五月天激情小说| 强辱丰满人妻HD中文字幕| 超碰色碰碰| 大天天伊人| 99色天堂| 26UUU欧美| 91 九色 熟女| 国产高清视频91九九九久久久| 大香蕉在线观看9| 成人一区在线观看| 五月丁香婷婷综合激情基地| 五月激情小说| 五月婷婷电影院| 六月丁香停| 丁香五月狠狠在线观看| 日本五月天网站| 狠狠穞A片一區二區三區| 青青草青青草五月天| 五月丁香六月婷婷的女人| 久久看婷婷| 欧美色播综合在线观看| 五月丁香自拍| 人操91在线| 99热这里只有精品26| 天天干天天爽天天操| 色婷婷超碰| AA片在线观看视频在线播放| 日韩AV片| 天天综合色| 日本天天操| 大香蕉欧美在线| 99热在这里只有免费精品| 婷婷五月中文字幕| 激情五月婷婷在线区| 婷婷六月天天| 综合精品99| 思思视频这里是精品| 丁香婷婷五月| 丁香五月婷婷国产在线| www.日日日.com| 色婷婷888| 婷婷色色欧美综合网| 97人妻碰碰中文无码久热丝袜| 九九爱激情| 亚洲激情AV| 久久激情五月天| 婷婷基地爱| 亚洲色无码A片一区二区麻豆| 综合激情在线| 色噜噜狠狠色综合网| 五月桃花网综合| 性爱AV天堂| AV在线大香蕉| 色99在线观看| 丁香大香蕉| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 99热在线精品观看| 婷婷丁香久久| 91久久久久久| 婷婷久草| 亚洲va综合va国产va中文| 天堂色婷婷| 色色色色网站| 91好好热日本在线| 欧美三日本三级少妇三99| 青青草原爱爱网| 俺去也在线视频| 精品夜夜澡人妻无码AV| 五月天玖玖狠狠色色| 全部老头和老太XXXXX| 99久久婷婷| 亚洲网站999| 五月婷婷精品| 五月丁香啪综合| www热久久yy9| 亚洲色五月| 日韩性视频| 色九亚洲| 激情深爱五月天| 激情深爱婷婷网| 激情五月激情综合网| 操操操操操操婷婷五月天| 青草五月天| 九九这里有精品视频| 天天爽天天| 思思99精品视频在线观看| 99国产精品久久久久久久久久久| 26uuu欧美亚洲日韩| 九九视频在线观看视频6| 精品福利911| 爱99干99| 色婷婷成人| 99riAv1国产在线观看| 婷婷五月激情综合| 九九热99精品| 97五月天婷婷综合激情网| 日韩 中文 欧美| 五月婷婷丁香| 丁香婷婷老熟女综合网| 操九色| 九九RE视频在线精品| 日本天天色| 狠狠干五月丁香| 色色色色色色色五月| 操逼六区| 激情五月婷婷网| 97五月天婷婷午夜| 人操人人| 性爱视频久久| 日本色婷婷| 色婷五月| 大香蕉丁香五月| 9热在线观看| 天天射影| 99久久.www| 五月天播播| 丁香五月天欧美在线| 色婷婷aV四虎| 婷婷色综合| 夜夜干 夜夜操| 亚洲精品视频在线播放| 丁香五月婷婷国产在线| 五月天六月色| 五月天婷婷久久视频| 久久永久网址| 五月婷婷免费视频| 色五月91| 亚洲色婷婷视频| 婷婷涩五月| 国产精品美女久久久久AV超清 | 天堂在线9| 日韩啪啪视频| 五月天色色婷婷| 亚洲久久婷婷| 婷婷放心五日爱| www五月天com| www 五月天 com| 激情五婷网| 丁香婷婷五月综合欧美另类| 丁香六月天| 色综合天天| 色五月aV| 丁香婷婷五月天网站| 97婷婷在线视频| 婷婷丁香综合网| 99精品综合| 天天噜| 九九热视频免费的| 五月丁香六月婷婷在线小说视频| 色播五月丁香| 97干在线视频| 激情丁香婷婷| 九九99免费理论| 综合久久综合五月天婷婷| 99免费在线| 国产密乳av一区二区三区四区| 天天插夜夜爽| 五月天婷婷丁香蜜桃91| 久久久er热| 色婷婷丁香五月| 成年人最刺激的综合网| 26uuu欧美日本| 九九色99| 人妻精品久久久久久| 婷婷激情综合无月| 日日操,日日爽| 日本女天天爽| 婷婷五月天视| 天天爽天天日人人爱| 国产亚洲99久久精品| 男人的天堂五月丁香| 九色视频入口91| 狠狠噪| 99久久九九视频| 色婷婷基地 | 五月激情啪啪| 日韩AV中文在线观看| 99国产精品久久久久久久久久久| 成人片黄网站色大片免费毛片| 亭亭五月色男人| 五月丁香激情综合网| 五月天激情图片| 中文字幕在线免费观看视频| 久久综合九九| 国产精品色色| 99热爆在线| chaopeng在线人人| 91在线视频综合| 激情图片婷婷丁香五月| 色五月丁香婷婷| 欧美熟女99| 欧美色色色色色| 丁香五月手机在线| www.丁香六月婷婷久久天堂影院.con| 日韩久久系列| 国产精品丝| 玖玖在线| 色婷婷五月基地在线| 97婷婷丁香五月| 久久精品视频9| 婷婷久久丁香| 九九热精品| .精品久久久麻豆国产精品| 丁香五月婷婷免费视频| 综合玖玖偷拍| 亚洲中文丁香| 狠狠狠夜夜夜| 激情综合网五月激情| 99在线免费观看| 国产干逼片| 超碰色女| 五月婷伊人| 美国色五月天婷婷资源站| 五月婷婷激情中文字幕| 日本精品久久久久中文字幕| 69人人操人人爽| 综合视频久久| 丁香五月综合在线播放| 综合五月婷婷| 婷婷丁香六月天激情四射网| 91婷婷| 精品少妇蜜臀91| 182TV大香蕉| 99热久| 六月婷婷最新网址| 色色色综合视频| 五月婷在线播放| 狠狠操狠狠操AV| 91在线资源| 五月丁香婷婷色| 五月花丁香婷婷| 一级性爱视频| www.99精品视频| 天堂五月婷婷| 亚洲色综合| 色五月美女| 26uuu视频欧美| 丁香五月婷婷在线观看| 强辱丰满人妻HD中文字幕| 十区AV| 深爱五月天 开心网| 久久久99视频| 成人免费视频一区| 欧美综合五月丁香五月天| 丁香花五月天激情| 9久久精品视频| tingtingzonghewang| 五月天色图| 免费看片在线观看| 婷婷六月天亚州| 五月开心久久| 大香蕉中文| 5月婷婷五月天| 九九这里只有精品| 99久久亚洲精品视频| 亚洲成人五月| 99热黄| 五月婷丁香在线视频在线| 色综合婷婷| 伊人五月天97| 五月婷婷成人| 色欧美日| 久久久噜噜噜久久人妻| 五月丁香婷色| 丁香桃色网| 亚洲精品第一国产综合亚AV | 五月激情六月综合| 97超级啪啪在线观看| 激情五月丁香综合蜜桃| 五月丁香影视| 性色欲情 网站| 婷婷六月色| 久久99婷婷| 五月停停999| 亚洲综合一区二区| 97资源欧美日韩大香蕉超碰一区| 日韩av在线免费观看| 26UUU精品一区二区| 五月色丁香婷婷综合| 欧美VA在线观看| 操逼电影免费看| 婷婷五月深爱五月| 欧美性交一区二区三区| 最新va在线播放| 一起草无码| 99激情网| 亚洲中文无码成人| 亚洲精品V天堂中文字幕| 久久五月天黄色五月天色网址| 亚洲乱码日产精品BD| 丁香六月色情| 麻豆忘忧草午夜| 久久视频这里有精品99| 色婷婷先锋| 婷婷综合色色| 五月丁香综合精品| 五月深情久久| 成人婷99最新| 婷婷五月天 偷拍| 久久5 9视频免费观看| 天天干天天叉| xx久久| 五月天婷婷久久视频| 美女婷婷六月色| 人人妖人人97| 久久免费操| 九九热99re8热免费观看| 国产精品18久久久| 啪啪小说五月天| 91黄址| 狠狠狠狠狠狠| 天天干夜夜谢| 国产亚洲色婷婷99精品| 97成人在线视频| 丁香婷婷91在线观看视频| 狠狠色婷婷7777久| 九九色婷| 91精品在线看| 亚洲VA在线| 色99在线看| a在线观看| 久久久久久丁香五月| 大香蕉中文| 国产日韩精品SUV| 九热视频| 婷婷五六日| 九九人人看| 婷婷99| 婷婷 伊人 久久| 操人无码| 婷婷的色色五月天| 精品无码人妻一区| 五月婷婷人人人操| 九九无毛| 亚洲精品亚洲人成人网| 婷婷网五月天| 天天爽,天天操。| 亚洲AV无码成人精品区电影网| 99啪啪视频| 五月丁香婷婷欧美| 丁香五月人妻熟女| 九九99精品| 五月婷婷9| 中国丰满熟女A片免费观| 精品久热69| 五月丁香婷婷婷婷综合网| yellow视频在线观看91| 99ri精品在线观看| 久久人妻熟女一区二区| 狠狠干夜夜干| 日韩高清成人| 色婷婷五月天激情在线观看| 小视频一区 | 婷婷色中文字幕| 丁香婷婷激情六月五月开心| 五月丁香婷中文| 视频这里只有精品| 综合大香蕉| 五月丁香婷婷啪啪网| 超碰日韩人妻在线| 五月婷色| 噜噜噜久久| 一区二区成人电影| 激情爱爱网站| 国产毛片精品一区二区色欲黄A片| 婷婷久久六月天| 欧美五月丁香在线| 五月丁香六月色婷| 色综合色综合网| 另类激情四射| 日韩欧美成人片| 婷婷激情五月天小说| 亚洲一二三网| 97男人天堂| 欧美一级a| 婷婷丁香18| 日本黄 色 片| 在线视频婷婷| 婷婷五月激情基地| 成人精品免费在线观看| www。五月,com| 久久婷婷五月天丁香| av免费在线看不卡无毒| 丁香五月天堂婷婷| 99视频综合网| 久久婷婷的综合色丁香五月| 婷婷五月激情五月丁香五月| 超碰99热精品| 99色中文| 五月天五月色婷婷综合| 色婷婷五月天激情在线播放| 丁香久久五月天视频在线观看| 色婷婷五月基地在线| 深爱开心激情网| Va另类视频| 婷婷五月天另类网站| 5月丁香六月婷婷| 婷婷开心激情五月激情网| 这里只有精品网站| 97欧美在线| 婷婷五月天激情网| 少妇做爰免费视看片| 婷婷91视频| 韩国97天堂| 婷婷九九视频| 全亚洲最大的婷婷五月天网站COM| 丁香综合婷婷开心激情网| WWW·天天操·视频?| 插插干干干色| 久久爱婷婷| 九九RE视频在线精品| 色婷婷激情| 丁香花社区av| 91婷婷色 | 综合99综合久久久久久久| 超碰人人色| 成人做爰高潮A片免费视频| 精品视频二级九九| 99在线公开视频| 欧美激情五月天婷婷| 亚洲人妻一区二区| 999久久久国产精品| 狠狠草在线观看| 色五月 婷婷, 大香蕉| 99热全是精品| 亚洲精品操一操、噜一噜、摸一摸、爽 | av九九| 青青草99re| 丁香成人五月天| 青草热视频这里只有精品| 天天人人人人人人人人人人人| 天天干天天操天天爽| 婷婷在线日韩综合| 丁香六月婷婷综合| 丁香六月激情网C0W| 综合色99| 国产精品男人AV不卡| 91久久久久久久久| 亚洲第79页| www.五月天婷婷| 婷婷五月六月丁香| 天天干天天日天天插| 99热资源在线| 久久看九九90| 婷婷激情五月天激情在线| 这里只有精品网站| 午夜少妇在线观看视频| 色女人久久| 天天做 天天爱| 亚洲激情婷婷| pom538精品视频| 99九九视屏| 丁香婷婷激情| 伊人www22综合色| 日韩人妻操逼视频| 久操操| 超碰在线人人| 婷婷中文字幕| 亚洲成人AV一区在线观看| 99 频99热国里只有精品| 91狠狠色色丁香婷婷综合久久| 又大又粗九一在线| 天天干夜夜操A片| 伦乱天堂| 久久精品99久久久久久| 天天干天干| 香蕉网婷婷| 开心丁五月| 97福利视频| 91久久色| 草综合14| 人人看人人97| 少妇达人正片在线播放_ikun_福利吧| 中文字幕 中文字幕明步| 色八月婷婷| 大香蕉啪啪网| 亚洲综合99| 色婷婷www| 99视频网址| www.婷婷五月天| 黄色AAAAAAA| 五月婷婷开心综合| 91免费试看| 涩五月色婷婷| 色级婷婷| 色播五月网| caopeng97人人| 婷婷天天婷婷天天澡| 九一牛视频探花| 91精品久久久久久综合五月天| 91 影音先锋| 天天拍久久| 色色色色色色综合网| 五月丁香六月合| 乱乱av| 激情五月天小说视频| 丁香六月天婷婷色| 日本色超碰| 天天影视色综合网| 婷婷色资源| 26uuu欧美日本| 五月丁香趴趴| 久久伊人9| www色五月| 激情五月天社区| 琪琪理论片| www.97视频| 成人超碰Av| 色一情一乱一乱一区9| 亚洲成人无码网站| 亚洲综合激情五月久久| 六月丁香婷| 99热这里只有精品13| 蒲京久久无码视频| 色色国产| 天天射影| 五月婷婷丁香91| 激情五月天综合婷婷网| 六月丁香大香蕉| 狠狠综合网| 五月婷婷丁香色吧网| 91 九色 入口| 丁香五月久久| 最新五月天婷婷影| 亚洲AV日韩AV永久无码网站| 91超级碰在线视频| 五月婷婷色综图片| 九九精品re免费视频| 4399亚洲视频| 深爱激情四射| 热热99爱爱| 女人天堂AV| 综合五月激情网| 五月丁香六月成人| 国产日产亚洲系列最新| 五月婷六月| 欧亚成人A片一区二区| 5月丁香啪啪啪| a网站免费观看| AV亚洲在线| 久久久中文| 婷婷五月天第四色| 久久婷婷五月天蜜桃| 极品少妇高潮啪啪AV无码| 噜噜色噜噜网| 天天色天天色天天色天天色天天色天天色| 五月天婷婷Av| 久草热在线视频| 天天综合网亚洲网站| 亚洲网视屏| 婷婷综合九色伊人| 香蕉久久国产AV一区二区| 欧美婷婷五月天综合| 99热老司机| 人人操超碰| 六月激情网| 五月婷婷六月激情| 九九久久综合网站| 色色激情五月天| 秋霞av不能| 农村熟妇高潮精品A片| 五月丁香六月激情综合| 巴基斯坦粉嫩无码视频| 婷婷五月天最新综合你懂的| www.AV在线| 婷婷五月天桃花网| 五月婷婷激情五月| 五月丁香久久| 色狠狠色综合| 五月婷婷在线网站| 亚洲色精彩| 手机旧版看人妻1025| 丁香五月色激情| 99久久综合| 99热超碰在线| 丁香婷婷色情| 五月色婷婷综合| 五月丁香六月欧美| 丁香六月av| 永久的网站AAAA | 丁香五月综合激情久久潮喷| 99九九在线精品热动漫| 色五月色情| 99热6精品| 五月婷婷色丁香| 96人人操人人操人人| 婷婷亚洲影院| www.99热在线观看| 色在线99| 丁香五月婷婷大香蕉| 99热在线网站| 丁香97综合| 亚洲av成人一区二区电影在线| 久久caop| 九九婷婷五月天| 欧美色一级色| 超碰人妻公开在线| 亚洲AV在线免费看| 婷婷五月天A V| 亚洲偷| 91精品激情9| 久久久亚洲精品一区二区三区浴池 | 五月激情在线| 精品人妻伦一二三区久久| www,色色色网站| 五月婷天天搞视频| 婷婷五月天综合小说网| 丁香六月婷婷综合啪啪| 成人精品亚洲性爱| 狠狠穞A片一區二區三區| 亚洲中文乱字字幕在线永久| 婷婷丁香人妻天天爽| 另类激情首页| 亚欧州精品视频| 丁香六月啪啪啪| 久久多色| 色情综合网| 久久婷婷影院| 六月成人网| 9久热在线视频| 欧美精品A片一区在线观看| 婷婷爱五月| 超碰成人在线观看| 噜噜噜噜婷婷五月天| www。狠狠干。com| 青青草深爱激情网| 五月婷婷丁香在线视频| 人人射人人高潮| 站长推荐无码播放| 狠狠色综合网| 五月天婷婷丁香社区| 五月天婷婷久久视频| 国产成人高清| 婷婷色婷婷| 久久婷婷七月丁香| 91久久18| 亚洲中文字幕av| 色天天综合色| 婷婷色五月在线视频| 狠狠色狠狠| 欧美搡BBBBB摔BBBBB| 日本在线观看aaa 99| 1024婷婷综合久久五月天| 26uuu青青| 六月色国内综合| 日本色色网站| 亚洲激情久久| 人妻五月天激情开心网| 九九久久精品| 激情网五月婷婷| 97操碰碰无码视频| 少妇高潮呻吟A片免费看软件| 亚洲无码影片| 亚洲第一成人无码A片| 丁香伊人激情| 丁香五月婷婷大香蕉| 丁香婷婷久久| 色婷婷最新域名| 天天爽成人综合网站| 79色色色色| 激情五月婷婷五月| 丁香五月婷婷激情蜜桃| wWwCom夜操wwW| 五月婷婷激情视频| 婷婷色中文字幕| 五月婷婷色白丝| 久久6这里只有精品| 99热97| 无码AV免费精品一区二区三区 | 婷婷五月婷婷五月天| 亚洲黄色精品| 99精品视频播放| 玖玖在线视频福利| 79精品视频在线观看,| 婷婷爱五月| 五月天婷婷基地综合网| 日本AAAAAAAAAAAAAA片| 日韩aaa| 大香蕉免费9| 五月四色婷婷| 欧美激情综合色综合啪啪五月| 9在线9在线婷婷在线国产| 风流少妇A片一区二区蜜桃| 成人毛片在线免费观看| 天天射影视综合网| 深爱激情网噜噜色| A片一曲| 毛片新网地| 久久丁香五月天| 热热99爱爱| 99在这里有精品| 九九亚洲| 97色碰| 国产免费一区二区三区三州老师F1F1.CC| 96自拍视频九色在线观看| 久久停停超碰| 亚洲操B| 狠狠色噜噜狠狠狠狠狠色综合久久| 99热九九这里只有精品| 操逼巨乳91| 婷婷丁香综合在线| 激情五月亚洲综合网| 丁香五月香蕉| 激情九月婷婷| 丁香五月综合激情性爱| 亚洲天堂有码| 五月丁香婷婷潮喷中文字幕| 日逼AV影音先锋男人资源站| 五月丁香好婷婷姑娘综合网| 涩五月婷婷| 丁香五月色情| 人人摸人人操人人爽| 激情伊人网| 五月天天爽| 久久久久九九九九视屏小说88| 精品少妇蜜臀91| 少妇出轨做爰高潮A片| 天天日夜夜高潮| 大香蕉九九| 成人必爱视| 天天干,夜夜爽| 国产 A片 自拍| 丁香五月av| 丁香五月瑟瑟| 久久A极片| 怡红院精品视频久久久久久久久| 97在线观看| 久久99色色| 色啪久| 五月天国产婷婷精品视频在线| 人操91在线| 亚洲成人五月| 9热精品| 五月天婷婷久久| 轮奸综合网| 99色在线| 色婷五月| 久久九⑨| 九九五月天| 色激情综合狠狠婷婷| 五月天电影网| 韩国久久少妇视屏| 成人短视频免费| 激情五月天啪啪| 开心五月深爱五月| 九九九九九无码| 激情综合丁香六| 丁香六月婷婷综合欧美| 婷婷五月丁香欧洲| 五月花免费视频| 婷婷五月天激情综合婷婷五月天激情综合 | 99人人看| 超碰在线人人| 人人操Av| 国产精品24r| 在线天堂9| 凹凸7777操操操| 亚洲激情四谢| 婷丁香五月天| 国产精品色色666| 丁香五月激情五月色综合| 99亚洲视频| 天天搽天天射| 99精品久| 婷婷激情综合网| 婷婷玉月丁香五月在线视频| 超级碰碰视频无码| 91精品久久久久久综合五月天| 日日干综合| 丁香五月九九| 思思热在线观看| 久久五月激情| 色99在线| 狠狠爱五月婷婷综合六月| 操操天堂| 涩涩网五月天| 久久与婷婷| 三级毛片视频| 色色五月天网站| 色丁香在线视频| 五月天激情网址| 中文字幕乱码亚洲精品一区| 思思热99热| 99热99热在线观看| 激情婷婷九月| 成人综合网站| 91成人电影| 狠狠插狠狠| 国产99热| 韩日AV片| 国产精产国品一二三在观看| 超碰网站在线观看| 天天摸夜夜爽天天做| 51XX午夜影福利| 婷婷丁香久久网| 4399成人黄A片| 草榴视频网| 五月J香蕉婷婷| 欧美人妻一区二区| 美女美女美女三级色天天天天天| 99爱视频精品在线观看| 久久亚洲天堂| 丁香五月天AV在线 | 亚洲视频在线观看| 色色五月天丁香| 久久色五月天激情小说| 2025中文在线视频字幕免费观看| 91久久综合| 色婷婷精| 国产看真人毛片爱做A片| 五月婷婷久久综合| 99色视频在线| 丁香九月婷婷色| 亚洲五月六丁香激情| 久草天堂| 色七七九九| 婷婷五月精品中文| 日韩不卡123| 成人午夜视频精品一区| 五月丁香狠狠爱| 五月婷婷激情日本| 少妇激情五月天| 综合图区激情| 亚洲激情高潮| 五月丁香啪啪啪免费看| 国产avapp 网| 性色av大香综合| 青青色com久久| 91大操| 精品久久久91久久影视网| 日韩人妻无码专区| 日本99热| 99热精品在线| 99久久婷| 99精品热视频| 五月色丁香| 午夜丁香综合婷婷| 欧美日韩aaa| 五月激情六月宗合| 这里只有精品2| 色丁香婷婷| 天堂草在线看www| 日本操逼九九九九58日本操逼| 五月五丁香婷婷| 天天干天天干天天干天天干天天干天天干天天 | 伊人婷婷色激情丁香| 手机AVAV天堂看网| 99色播| 久草xx性爱视频| 五月天影院| 九九精品网| 日本色综合| 丁香婷婷激情| 97干欧美| 可以看的AV| 五月天婷婷基地| 777米奇影视第四色| 国产精品久久久久久久久久| 国产午夜精品一区二区三区四区| 日日干四虎| 第四色色色色色丁香五月天| 久久亭亭电影| 丁香五月婷婷综合精品素人| 亚洲AV网址| 久久久人妻久久久| 色日本丁香婷婷| 五月久久亚洲| 色射7856五月天激情四射| 婷婷成人在线| 淫视馆AV在线| 婷婷五月天综合激情| 婷婷六月爽| 婷婷激情五月天小说| 99免费| 91Chinese在线| 国自产拍偷拍精品啪啪一区二区| 婷婷日日夜夜| 亚洲综合网 665566| 亚洲日本激情| 丁香五月激情性色郤| 26uuu在线观看| 色婷婷小说| 97色干在线观看| 亚洲第一av| 婷婷五月综合激情| 91啪级电影| 日日爽日日爽| www.91色| www.9操| 色噜久| 天堂婷婷五月在线| 国产资源91在线| 97视频.干com| 黑人巨粗进入警花疼哭A片| 五月开心啪啪| 99在线er热| 另类激情五月天| 久99| www.韩日视频| 91精品在线看| 五月丁香六月婷婷手机无线| 91色吧网| 99热久久这里只有精品| 九月激情综合婷婷| 99久久国产宗和精品1上映 | 99热99热在线| 99视频久久| 亚洲视频在线观看区| 一起草无码视频| 五月综合婷婷五月| 午夜大香蕉| 色婷av| 啪啪五月天啪啪| 色情久久久| 91制片厂久久久国产电影| 99亚洲天堂| 丁香五月香蕉| 亚洲成av人影院| 色五月婷婷操逼| 午夜国产精品AV在线播放| 99热最新| 九九人人看| 婷婷爱婷婷| 99精品免费视频| 丁香婷婷超碰 | 夜夜涩涩涩| 婷婷九月亚洲| 99五丁香月| 狠狠草婷婷| 婷婷午夜| 色哟哟性爱av| 五月婷综合网| 丁香五月天激情综合| 熟女激情网| 五月婷婷69| 丁香五月狠狠在线观看| 久热这里只有精品6官网亚洲| 久青草影院| 91在线人| 久久九九99字幕| 激情综合婷婷| 婷婷五月色情天| 97碰碰在线观看视频| 亚洲啪啪自拍| 五月久久亚洲| 八戒青柠影视剧在线观看| 丁香综合婷婷开心激情网| 超碰97干| av最新在线| 99色免费视频| 激情综合色五月丁香| av在线超清中文| 狠狠干无码| 综合久| 狠狠色狠狠| 97热这里精品在线视频| 人妻久久久久久| 欧美操我| 激情五月丁香六月综合AVXXXX| AV在线不卡播放| 操逼福利视频| 色婷婷成人做爰A片免费看网站| 性爱AV天堂| 天天干天天操天天拍| 91一起艹| 色婷婷狠| 日韩综合久久| 九色91国产| 伊人五月婷婷| 国产在线黄色| 亚洲av网站| 欧美成人A片AAA片在线播放| www久久99| 色色色图| 久热这里只有精品性色AV| 国产在这里只有精品| 色久婷婷五月| 久久婷婷五月天| 26uuuavcom| 91人人爱| 亚洲色网络| 激情五月婷| 五月婷婷开心网|