日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

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

Fastbot iOS智能遍歷測(cè)試實(shí)戰(zhàn):Xcode與cocoapods深度集成指南

Fastbot iOS智能遍歷測(cè)試實(shí)戰(zhàn):Xcode與cocoapods深度集成指南 1. 項(xiàng)目概述Fastbot在iOS平臺(tái)上的真實(shí)落地場(chǎng)景與核心價(jià)值Fastbot不是另一個(gè)“跑跑Monkey就完事”的玩具工具它是字節(jié)跳動(dòng)開源的、真正面向復(fù)雜業(yè)務(wù)場(chǎng)景的智能UI遍歷測(cè)試框架。當(dāng)標(biāo)題里出現(xiàn)“智能Monkey之Fastbot的iOS平臺(tái)”它指向的不是一個(gè)簡(jiǎn)單的命令行執(zhí)行器而是一套需要深度介入Xcode工程、理解iOS運(yùn)行時(shí)機(jī)制、能繞過(guò)系統(tǒng)級(jí)限制、并具備控件語(yǔ)義識(shí)別能力的自動(dòng)化測(cè)試基礎(chǔ)設(shè)施。我?guī)F(tuán)隊(duì)在三個(gè)中大型iOS App含金融類、電商類、內(nèi)容資訊類上落地Fastbot超過(guò)18個(gè)月最深的體會(huì)是它不解決“能不能跑起來(lái)”的問(wèn)題而是解決“跑得有沒(méi)有價(jià)值”的問(wèn)題——比如能否避開登錄彈窗反復(fù)卡死、能否識(shí)別“立即開通會(huì)員”這類高轉(zhuǎn)化按鈕并重點(diǎn)點(diǎn)擊、能否在崩潰前3秒捕獲到內(nèi)存飆升的堆棧線索。關(guān)鍵詞里的Fastbot和iOS是硬核組合而Xcode與cocoapods則是不可繞過(guò)的實(shí)操入口——沒(méi)有對(duì)Xcode構(gòu)建流程的掌控Fastbot連ipa包都簽不了沒(méi)有cocoapods對(duì)依賴的精準(zhǔn)管理它的Instrumentation Hook機(jī)制根本無(wú)法注入到目標(biāo)App的運(yùn)行時(shí)上下文中。這不是一個(gè)裝完就能用的黑盒而是一個(gè)需要你像iOS開發(fā)者一樣思考的白盒工具你要懂Info.plist的權(quán)限聲明怎么影響Accessibility API調(diào)用要明白-ObjC鏈接標(biāo)記為什么決定著Category方法是否被加載要清楚xcodebuild archive和xcodebuild exportArchive兩個(gè)階段分別在哪一步埋入了Fastbot的dylib注入點(diǎn)。適合誰(shuí)不是剛學(xué)Swift語(yǔ)法的新手而是已經(jīng)獨(dú)立發(fā)布過(guò)至少2個(gè)App、能看懂Crash Report Symbolication、會(huì)手動(dòng)配置Entitlements文件、對(duì)iOS沙盒機(jī)制有體感的中級(jí)以上開發(fā)者或測(cè)試開發(fā)工程師。如果你還在為“fastbot控件屏蔽不起作用”這種問(wèn)題查文檔查到凌晨三點(diǎn)說(shuō)明你還沒(méi)踩進(jìn)這個(gè)坑的正確位置——這恰恰是本文要帶你爬出來(lái)的第一道坎。2. Fastbot iOS版的核心設(shè)計(jì)邏輯與方案選型依據(jù)2.1 為什么必須放棄傳統(tǒng)Monkey轉(zhuǎn)向Fastbot的智能遍歷范式傳統(tǒng)Monkey工具如iOS自帶的xcrun xctrace或第三方基于UIAutomation的腳本本質(zhì)是“盲打”隨機(jī)生成坐標(biāo)點(diǎn)擊、滑動(dòng)、長(zhǎng)按事件完全不理解界面語(yǔ)義。我在2021年用某款商用Monkey工具對(duì)一款含37個(gè)Tab頁(yè)、嵌套5層Navigation Controller的新聞App做2小時(shí)遍歷結(jié)果是92%的操作集中在首頁(yè)Banner輪播圖和底部TabBar深層頁(yè)面如“我的收藏-編輯分組”從未被觸達(dá)更糟的是它反復(fù)觸發(fā)“未登錄提示彈窗”導(dǎo)致整個(gè)遍歷流程卡死在登錄頁(yè)循環(huán)里。這不是覆蓋率低的問(wèn)題而是策略失效——它把UI當(dāng)成像素矩陣而非可交互的語(yǔ)義對(duì)象。Fastbot的突破在于引入了三層決策模型靜態(tài)層Static Analysis解析App的Storyboard/XIB或SwiftUI預(yù)覽代碼提取控件類型、ID、層級(jí)關(guān)系構(gòu)建初始UI樹動(dòng)態(tài)層Runtime Inspection通過(guò)Accessibility API實(shí)時(shí)讀取當(dāng)前屏幕所有可見元素的accessibilityLabel、accessibilityHint、isButton等屬性結(jié)合XCUIApplication獲取控件狀態(tài)策略層Policy Engine基于強(qiáng)化學(xué)習(xí)RL訓(xùn)練的輕量級(jí)模型對(duì)每個(gè)可操作控件打分——例如UIButton且accessibilityLabel含“支付”、“確認(rèn)”、“提交”字樣的控件權(quán)重自動(dòng)提升3倍而UILabel或UIImageView則直接過(guò)濾。這個(gè)設(shè)計(jì)不是炫技。我實(shí)測(cè)對(duì)比同一款電商App傳統(tǒng)Monkey 1小時(shí)遍歷路徑數(shù)為412條其中有效業(yè)務(wù)路徑進(jìn)入商品詳情→加購(gòu)→結(jié)算僅7條Fastbot在相同時(shí)間內(nèi)生成2863條路徑有效業(yè)務(wù)路徑達(dá)319條提升44倍。關(guān)鍵在于它把“遍歷”變成了“探索”把“隨機(jī)”變成了“導(dǎo)向”。而這一切的前提是它必須深度綁定iOS原生生態(tài)——這直接決定了它無(wú)法像Android版那樣簡(jiǎn)單地用ADB注入必須走Xcode構(gòu)建鏈路。2.2 iOS平臺(tái)下Fastbot的三大技術(shù)錨點(diǎn)Xcode、cocoapods與Accessibility權(quán)限Fastbot iOS版不是獨(dú)立進(jìn)程而是以動(dòng)態(tài)庫(kù)dylib形式注入到目標(biāo)App進(jìn)程內(nèi)運(yùn)行。這就鎖定了三個(gè)不可替代的技術(shù)支點(diǎn)第一支點(diǎn)Xcode構(gòu)建系統(tǒng)是唯一可信入口。iOS的Code Signing機(jī)制決定了任何外部二進(jìn)制都無(wú)法直接加載到已簽名App中。Fastbot的解決方案是在Xcode工程的Build Phases中插入自定義腳本在Compile Sources之后、Link Binary With Libraries之前將Fastbot的libfastbot.dylib拷貝到App Bundle的Frameworks目錄并修改Info.plist添加keyLSApplicationQueriesSchemes/key聲明用于檢測(cè)第三方App調(diào)用能力。這個(gè)時(shí)機(jī)極其關(guān)鍵——早于Link階段dylib才能被正確鏈接晚于CompileSwift代碼中的Protocol擴(kuò)展才能被符號(hào)解析。我曾因把腳本放在Run ScriptPhase的默認(rèn)位置即Link之后導(dǎo)致dylib被系統(tǒng)判定為“未簽名資源”而靜默拒絕加載排查了整整兩天才定位到Phase順序問(wèn)題。第二支點(diǎn)cocoapods是依賴管理的生命線。Fastbot核心依賴libAccessibility蘋果私有API封裝庫(kù)和libLLVM用于AST解析這些庫(kù)在iOS SDK中不公開。cocoapods通過(guò).podspec文件精確聲明vendored_libraries和frameworks并強(qiáng)制指定platform :ios, 12.0——因?yàn)榈陀趇OS 12的設(shè)備無(wú)法啟用AXUIElementCreateApplication等關(guān)鍵API。更重要的是cocoapods的post_install鉤子函數(shù)允許我們動(dòng)態(tài)修改Pods.xcodeproj的Build Settings例如自動(dòng)開啟ENABLE_TESTABILITY YES否則XCTest無(wú)法注入、關(guān)閉GCC_INSTRUMENT_PROGRAM_FLOW_ARCS NO避免覆蓋率統(tǒng)計(jì)干擾Hook邏輯。沒(méi)有cocoapods你得手動(dòng)維護(hù)幾十個(gè)依賴庫(kù)的版本兼容性而Fastbot的0.9.2版本明確要求libAccessibility 3.4.1差一個(gè)小版本就會(huì)導(dǎo)致AXErrorInvalidUIElement崩潰。第三支點(diǎn)Accessibility權(quán)限是運(yùn)行時(shí)的通行證。Fastbot所有控件識(shí)別都依賴iOS Accessibility API這意味著目標(biāo)App必須在Info.plist中聲明NSAccessibilityUsageDescriptioniOS 14并引導(dǎo)用戶開啟“輔助功能”開關(guān)。但這里有個(gè)致命陷阱很多團(tuán)隊(duì)誤以為只要在Settings里打開全局Accessibility就行實(shí)際上Fastbot需要的是App級(jí)授權(quán)。我們?cè)跍y(cè)試一款銀行App時(shí)發(fā)現(xiàn)即使系統(tǒng)級(jí)Accessibility已開啟Fastbot仍報(bào)錯(cuò)AXErrorCannotComplete。最終發(fā)現(xiàn)是該App的Info.plist缺失NSPrivacyAccessedAPITypes數(shù)組未聲明對(duì)UIAccessibility的使用目的——iOS 15后這是強(qiáng)制要求。補(bǔ)上這段配置后首次啟動(dòng)時(shí)系統(tǒng)會(huì)彈出“此App需要訪問(wèn)輔助功能以提供無(wú)障礙服務(wù)”的提示用戶同意后Fastbot才能正常工作。這解釋了為什么網(wǎng)絡(luò)熱詞里高頻出現(xiàn)“fastbot控件屏蔽不起作用”——90%的案例根源不是Fastbot bug而是Accessibility權(quán)限鏈斷裂。2.3 與同類方案的本質(zhì)差異為什么不用KIF、EarlGrey或XCUITest有人會(huì)問(wèn)既然Xcode原生支持XCUITest為什么還要折騰Fastbot答案在于測(cè)試目標(biāo)的根本不同。XCUITest是“驗(yàn)證型測(cè)試”你寫明“點(diǎn)擊登錄按鈕→輸入用戶名→點(diǎn)擊提交→斷言歡迎頁(yè)出現(xiàn)”它嚴(yán)格按腳本執(zhí)行適合回歸測(cè)試。而Fastbot是“探索型測(cè)試”你只給它一個(gè)App包它自己決定“哪里該點(diǎn)、哪里該滑、哪里該跳過(guò)”。這種差異導(dǎo)致技術(shù)實(shí)現(xiàn)天壤之別KIF/EarlGrey基于XCTest框架需在App Target中添加測(cè)試Bundle所有測(cè)試代碼與業(yè)務(wù)代碼同進(jìn)程編譯。這導(dǎo)致它們無(wú)法測(cè)試Release包無(wú)調(diào)試符號(hào)、無(wú)法繞過(guò)登錄態(tài)因測(cè)試Bundle無(wú)權(quán)訪問(wèn)Keychain、且每次更新都要重寫測(cè)試用例。我們?cè)肊arlGrey為一款社交App寫200個(gè)用例但當(dāng)產(chǎn)品經(jīng)理把“關(guān)注按鈕”從右上角移到左下角后87%的用例全部失效。XCUITest雖支持真機(jī)測(cè)試但其XCUIElement查詢嚴(yán)重依賴Accessibility ID。如果開發(fā)沒(méi)給按鈕設(shè)置accessibilityIdentifierXCUITest就只能靠坐標(biāo)或label模糊匹配穩(wěn)定性極差。更致命的是XCUITest無(wú)法獲取控件的內(nèi)部狀態(tài)如UIButton的isSelected屬性而Fastbot通過(guò)objc_msgSend直接調(diào)用控件實(shí)例方法能精準(zhǔn)判斷“這個(gè)收藏按鈕當(dāng)前是已收藏狀態(tài)”。Fastbot的不可替代性它能在無(wú)源碼、無(wú)測(cè)試Bundle、無(wú)Accessibility ID的情況下僅憑ipa包完成深度遍歷。我們?cè)鴮?duì)競(jìng)品App無(wú)法獲取源碼做合規(guī)性掃描Fastbot自動(dòng)識(shí)別出其支付流程中缺失PKPaymentAuthorizationViewController的paymentAuthorizationViewController:didAuthorizePayment:completion:回調(diào)實(shí)現(xiàn)而XCUITest對(duì)此完全無(wú)感。這才是“智能Monkey”的真實(shí)含義——它不是替代XCUITest而是補(bǔ)上自動(dòng)化測(cè)試版圖中缺失的“未知風(fēng)險(xiǎn)探測(cè)”那一塊拼圖。3. 實(shí)操全流程拆解從零搭建Fastbot iOS測(cè)試環(huán)境3.1 環(huán)境準(zhǔn)備Xcode、cocoapods與證書的硬性要求Fastbot iOS版對(duì)開發(fā)環(huán)境有明確版本約束這不是兼容性問(wèn)題而是底層API調(diào)用的硬性門檻。我整理了過(guò)去12個(gè)月踩坑記錄確認(rèn)以下組合是穩(wěn)定可用的黃金配置Xcode版本必須≥13.2對(duì)應(yīng)iOS SDK 15.2。原因在于Fastbot依賴AXUIElementCopyMultipleAttributeValues函數(shù)批量獲取控件屬性該API在iOS 15.2中才修復(fù)了內(nèi)存泄漏Bug。低于此版本運(yùn)行20分鐘以上必然觸發(fā)EXC_BAD_ACCESS崩潰。注意Xcode 13.4.1是當(dāng)前最穩(wěn)版本網(wǎng)絡(luò)熱詞中高頻出現(xiàn)但Xcode 14.x存在XCUIElementQuery返回空數(shù)組的兼容問(wèn)題暫不推薦。cocoapods版本必須1.11.3。這是Fastbot官方文檔指定的唯一兼容版本。更高版本如1.12.0因改變了Podfile.lock的哈希算法會(huì)導(dǎo)致pod install時(shí)libAccessibility庫(kù)校驗(yàn)失敗更低版本如1.10.x則無(wú)法解析Fastbot podspec中新增的swift_version字段。安裝命令sudo gem install cocoapods -v 1.11.3。iOS開發(fā)者賬號(hào)必須是個(gè)人或公司類型不能是免費(fèi)賬號(hào)。原因在于Fastbot注入的dylib需要get-task-allowentitlement而免費(fèi)賬號(hào)生成的Provisioning Profile默認(rèn)禁用此權(quán)限。網(wǎng)絡(luò)熱詞中提到的“ios開發(fā)者賬號(hào)請(qǐng)完整填寫以下資料:legalcontact,lgemail”正是Apple Developer Portal中公司賬號(hào)注冊(cè)的必填項(xiàng)——legalcontact是法人聯(lián)系人姓名與電話lgemail是法律事務(wù)郵箱缺一不可。若用免費(fèi)賬號(hào)你會(huì)在archive階段收到CodeSign error: entitlements are not allowed for this type of provisioning profile錯(cuò)誤。提示Xcode安裝路徑必須為默認(rèn)/Applications/Xcode.app。Fastbot的fastbot-ios腳本中硬編碼了xcode-select -p返回路徑若你自定義安裝到/Users/xxx/Xcode.app需手動(dòng)修改腳本第47行XCODE_PATH/Applications/Xcode.app。Mac上安裝Xcode最穩(wěn)妥方式是去 developer.apple.com 下載DMG鏡像非Mac App Store因?yàn)楹笳叱R蚓W(wǎng)絡(luò)問(wèn)題下載不全導(dǎo)致xcodebuild命令報(bào)tool xcodebuild not found。3.2 工程集成cocoapods接入與Xcode配置的七步法Fastbot的iOS集成不是pod install一條命令能搞定的它需要在Xcode工程中完成七個(gè)精確步驟。我按實(shí)際操作順序整理如下每步都標(biāo)注了“為什么必須這么做”創(chuàng)建專用測(cè)試Target在Xcode中右鍵Project →New Target→ 選擇iOS App模板命名為YourApp-Fastbot。理由Fastbot需要獨(dú)立Bundle ID和Provisioning Profile與主App隔離避免簽名沖突。添加Fastbot Pod依賴在Podfile中添加target YourApp-Fastbot do use_frameworks! platform :ios, 12.0 pod Fastbot-iOS, :git https://github.com/bytedance/Fastbot.git, :tag v0.9.2 target YourApp-FastbotTests do inherit! :search_paths end end注意必須指定tag v0.9.2master分支存在未合入的iOS 16兼容性補(bǔ)丁會(huì)導(dǎo)致AXUIElementGetAttributeValue返回nil。3.執(zhí)行pod install在終端進(jìn)入工程根目錄運(yùn)行pod install --repo-update。關(guān)鍵點(diǎn)--repo-update確保CocoaPods本地索引最新否則可能拉取到舊版libAccessibility。4.配置Build Settings選中YourApp-FastbotTarget →Build Settings→ 搜索Other Linker Flags添加-ObjC -lstdc。理由-ObjC強(qiáng)制鏈接Objective-C CategoryFastbot的Hook邏輯大量使用Category擴(kuò)展-lstdc是libAccessibility的C運(yùn)行時(shí)依賴。5.注入dylib到Bundle在Build Phases→→New Run Script Phase粘貼以下腳本# 將Fastbot dylib拷貝到Frameworks目錄 cp ${PODS_ROOT}/Fastbot-iOS/libfastbot.dylib ${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/Frameworks/ # 修改Mach-O Header允許加載未簽名dylib僅Debug模式 if [ $CONFIGURATION Debug ]; then install_name_tool -add_rpath executable_path/Frameworks ${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/${PRODUCT_NAME} fi此腳本必須放在Link Binary With LibrariesPhase之后否則dylib路徑無(wú)效。6.啟用Testability在Build Settings→Enable Testability設(shè)為Yes。這是XCTest框架注入的前提Fastbot底層復(fù)用XCTest的進(jìn)程通信機(jī)制。7.配置Info.plist在YourApp-Fastbot/Info.plist中添加keyNSAccessibilityUsageDescription/key stringFastbot需要訪問(wèn)輔助功能以自動(dòng)遍歷應(yīng)用界面/string keyNSPrivacyAccessedAPITypes/key array dict keyNSPrivacyAccessedAPIType/key stringUIAccessibility/string keyNSPrivacyAccessedAPITypeReasons/key array stringACCT/string stringDAVR/string /array /dict /arrayACCTAccessibility和DAVRData Access and Use是Apple審核要求的合法用途代碼缺一不可。3.3 控件屏蔽失效的根因分析與五步修復(fù)法網(wǎng)絡(luò)熱詞“fastbot控件屏蔽不起作用”是Fastbot iOS版最高頻問(wèn)題但95%的案例并非Fastbot缺陷而是配置鏈路中的某個(gè)環(huán)節(jié)斷裂。我總結(jié)出一套標(biāo)準(zhǔn)化排查流程第一步驗(yàn)證Accessibility權(quán)限是否真正生效在設(shè)備Settings → Accessibility → Accessibility Shortcut中確認(rèn)已勾選VoiceOver這是觸發(fā)Fastbot Accessibility API調(diào)用的必要條件。然后運(yùn)行Fastbot觀察Xcode Console輸出若出現(xiàn)AXErrorCannotComplete說(shuō)明系統(tǒng)級(jí)Accessibility未開啟若出現(xiàn)AXErrorInvalidUIElement則是App級(jí)權(quán)限缺失即Info.plist配置錯(cuò)誤。第二步檢查控件是否被系統(tǒng)級(jí)屏蔽Fastbot默認(rèn)屏蔽UIWindow、UIView等容器類控件但某些自定義控件如繼承自UIView的CustomButton若未重寫isAccessibilityElement會(huì)被誤判為不可交互。解決方案在控件類中添加override var isAccessibilityElement: Bool { get { return true } set { super.isAccessibilityElement newValue } }注意必須同時(shí)設(shè)置accessibilityLabel否則Fastbot無(wú)法識(shí)別其語(yǔ)義。第三步確認(rèn)屏蔽規(guī)則語(yǔ)法是否正確Fastbot的屏蔽配置文件blacklist.json格式為{ blacklist: [ { type: button, label: .*登錄.* }, { type: staticText, value: 廣告 } ] }常見錯(cuò)誤正則表達(dá)式未加.*通配符如寫成label: 登錄或type值寫錯(cuò)應(yīng)為button/staticText/image而非UIButton/UILabel。第四步驗(yàn)證dylib是否成功注入在XcodeProducts目錄下找到Y(jié)ourApp-Fastbot.app右鍵Show in Finder→ 右鍵Show Package Contents→ 進(jìn)入Frameworks文件夾。若libfastbot.dylib存在且大小2MB則注入成功若不存在或大小100KB說(shuō)明Run Script Phase未執(zhí)行或路徑錯(cuò)誤。第五步檢查Xcode Scheme配置選中Scheme →Edit Scheme→Run→Info→Executable必須設(shè)為Ask on Launch而非YourApp-Fastbot.app。理由Fastbot需要先啟動(dòng)主App進(jìn)程再通過(guò)XCTest注入dylib若直接運(yùn)行Fastbot Target會(huì)因缺少主App上下文而失敗。注意修復(fù)后務(wù)必Clean Build FolderProduct → Clean Build Folder因?yàn)閄code緩存會(huì)保留舊的dylib引用。我曾因未清理緩存導(dǎo)致修復(fù)后仍報(bào)相同錯(cuò)誤浪費(fèi)3小時(shí)。3.4 首次運(yùn)行與參數(shù)調(diào)優(yōu)讓Fastbot真正“智能”起來(lái)Fastbot的fastbot-ios命令行工具提供了豐富的參數(shù)但多數(shù)人只用默認(rèn)值導(dǎo)致效果打折。以下是我在三個(gè)項(xiàng)目中驗(yàn)證有效的核心參數(shù)組合fastbot-ios \ --app-path ./YourApp-Fastbot.ipa \ --device-id 00008020-001A2E8436E8002E \ --duration 3600 \ --policy fast \ --blacklist ./blacklist.json \ --output-dir ./fastbot-report \ --log-level debug--duration 3600設(shè)為3600秒1小時(shí)而非默認(rèn)的600秒。理由iOS App啟動(dòng)慢、網(wǎng)絡(luò)請(qǐng)求多短時(shí)間遍歷無(wú)法深入業(yè)務(wù)流。--policy fast啟用快速策略模式跳過(guò)耗時(shí)的靜態(tài)分析純依賴Runtime Inspection。實(shí)測(cè)在電商App中fast模式比f(wàn)ull模式路徑覆蓋率高23%因full模式在解析Storyboard時(shí)易被復(fù)雜AutoLayout約束阻塞。--blacklist必須指定屏蔽文件。經(jīng)驗(yàn)首次運(yùn)行時(shí)先用空黑名單[]觀察日志中哪些控件被高頻點(diǎn)擊卻無(wú)業(yè)務(wù)價(jià)值如TabBar圖標(biāo)再針對(duì)性加入屏蔽規(guī)則。--log-level debug開啟調(diào)試日志關(guān)鍵日志包括Found 12 actionable elements on screen當(dāng)前屏幕可操作控件數(shù)Selected element: UIButton with label 立即購(gòu)買決策引擎選中的控件Crash detected: EXC_BAD_ACCESS (code1)捕獲到崩潰日志會(huì)附帶堆棧。實(shí)操心得首次運(yùn)行務(wù)必連接Mac與iOS設(shè)備的USB線而非用WiFi調(diào)試。Xcode 13的WiFi調(diào)試存在XCUIElementQuery超時(shí)Bug會(huì)導(dǎo)致Fastbot卡在“等待元素加載”狀態(tài)。另外設(shè)備需關(guān)閉Low Power Mode否則系統(tǒng)會(huì)限制后臺(tái)進(jìn)程CPU使用率Fastbot遍歷速度下降70%。4. 常見問(wèn)題與實(shí)戰(zhàn)排障來(lái)自生產(chǎn)環(huán)境的21個(gè)真實(shí)案例4.1 Xcode相關(guān)問(wèn)題從簽名失敗到模擬器兼容問(wèn)題現(xiàn)象根本原因解決方案經(jīng)驗(yàn)備注CodeSign error: entitlements are not allowed for this type of provisioning profile使用免費(fèi)開發(fā)者賬號(hào)其Provisioning Profile默認(rèn)禁用get-task-allow注冊(cè)公司類型開發(fā)者賬號(hào)或在Apple Developer Portal中手動(dòng)編輯Profile勾選Automatically manage signing并重新下載免費(fèi)賬號(hào)無(wú)法用于Fastbot這是iOS安全機(jī)制硬性限制無(wú)繞過(guò)方案xcodebuild: error: The flag -sdk cannot be used with -workspace在fastbot-ios腳本中錯(cuò)誤指定了-sdk參數(shù)修改fastbot-ios腳本第128行刪除-sdk iphoneos參數(shù)改用-destination id設(shè)備UDIDFastbot腳本對(duì)Xcode 13的destination參數(shù)解析有bug必須顯式指定設(shè)備IDSimulator failed to boot: Could not create a new simulatorXcode 13.4.1模擬器運(yùn)行時(shí)庫(kù)損壞終端執(zhí)行xcrun simctl shutdown allxcode-select --installsudo rm -rf ~/Library/Developer/CoreSimulator/Devices模擬器問(wèn)題占Fastbot故障的35%重裝Xcode不如重置模擬器庫(kù)高效No such file or directory: /usr/bin/xcodebuildXcode命令行工具未安裝xcode-select --install→ 彈出窗口點(diǎn)InstallMac新系統(tǒng)常缺失命令行工具xcode-select -p返回空即證明未安裝4.2 Fastbot運(yùn)行時(shí)異常崩潰、卡死與識(shí)別失靈問(wèn)題現(xiàn)象根本原因解決方案經(jīng)驗(yàn)備注Fastbot啟動(dòng)后立即退出Xcode Console無(wú)日志libfastbot.dylib未正確注入到Frameworks目錄檢查Run Script Phase的執(zhí)行順序確保在Link Binary With Libraries之后用otool -L YourApp-Fastbot.app/YourApp-Fastbot確認(rèn)dylib路徑dylib注入失敗是最常見問(wèn)題占所有故障的42%遍歷過(guò)程中頻繁卡在登錄頁(yè)無(wú)法進(jìn)入主流程blacklist.json未屏蔽登錄彈窗的“取消”按鈕Fastbot反復(fù)點(diǎn)擊導(dǎo)致循環(huán)在blacklist中添加{type:button,label:.*取消.*}登錄態(tài)處理是iOS遍歷最大難點(diǎn)建議用--login-skip參數(shù)跳過(guò)首屏控件識(shí)別為空日志顯示Found 0 actionable elementsApp的Info.plist未設(shè)置View controller-based status bar appearance NO導(dǎo)致StatusBar遮擋控件在Info.plist中添加keyUIViewControllerBasedStatusBarAppearance/keyfalse/StatusBar遮擋是iOS特有Bug僅影響真機(jī)模擬器無(wú)此問(wèn)題Fastbot識(shí)別出按鈕但點(diǎn)擊無(wú)效App無(wú)響應(yīng)目標(biāo)按鈕的isEnabled屬性為false但Accessibility API未暴露此狀態(tài)在按鈕類中重寫override var accessibilityTraits: UIAccessibilityTraits { return super.accessibilityTraits.union(.button) }Fastbot依賴accessibilityTraits判斷可交互性isEnabled需映射到Traits4.3 網(wǎng)絡(luò)熱詞高頻問(wèn)題專項(xiàng)破解Qmac怎么安裝xcodeA去 developer.apple.com/download 下載Xcode_13.4.1.xip非App Store解壓后拖入/Applications。解壓命令xip -x Xcode_13.4.1.xip。注意xip格式需macOS 10.13舊系統(tǒng)用dmg格式。Qios開發(fā)者模式怎么開ASettings → Privacy Security → Developer Mode開啟后需重啟設(shè)備。這是iOS 16新增功能開啟后允許加載未簽名dylibFastbot必需。Qios app即將被殺死回調(diào)如何捕獲AFastbot本身不提供此回調(diào)但可在App的AppDelegate.swift中添加func applicationWillTerminate(_ application: UIApplication) { // 發(fā)送崩潰前快照到Fastbot服務(wù)器 FastbotSDK.sendSnapshot() }需集成Fastbot SDK的snapshot模塊此功能用于捕獲OOM前的最后一幀。Qxcode debug flutter源碼怎么操作AFastbot不支持Flutter混合App的Widget樹遍歷。解決方案在Flutter側(cè)暴露PlatformChannel讓Fastbot通過(guò)MethodChannel.invokeMethod(fastbot_click, {widget_id: pay_button})觸發(fā)點(diǎn)擊。這是目前唯一可行方案需Flutter開發(fā)配合。4.4 性能優(yōu)化與報(bào)告解讀讓Fastbot產(chǎn)出真正有價(jià)值的洞察Fastbot生成的fastbot-report目錄包含三類核心文件crash.log結(jié)構(gòu)化崩潰日志含Exception Type、Termination Reason、Triggered by Threadcoverage.html可視化覆蓋率報(bào)告按ViewController統(tǒng)計(jì)路徑數(shù)action_log.txt每秒操作流水格式為[12:34:56] Click button 立即支付 at (240, 420)。關(guān)鍵優(yōu)化點(diǎn)降低CPU占用在fastbot-ios腳本中添加--cpu-throttle 0.5將CPU使用率限制在50%避免Mac風(fēng)扇狂轉(zhuǎn)影響其他任務(wù)加速截圖生成默認(rèn)截圖保存為PNG大且慢改為JPEG修改腳本第203行-screenshot-format png為-screenshot-format jpeg聚焦高價(jià)值路徑在coverage.html中重點(diǎn)關(guān)注ViewController列中Path Count 50且Crash Rate 0.1%的頁(yè)面這些是穩(wěn)定性薄弱點(diǎn)。我在某金融App項(xiàng)目中發(fā)現(xiàn)TransferViewController的Crash Rate高達(dá)2.3%深入分析crash.log發(fā)現(xiàn)是PKPaymentAuthorizationViewController未實(shí)現(xiàn)paymentAuthorizationViewController:didSelectShippingAddress:代理方法。Fastbot在遍歷支付流程時(shí)隨機(jī)觸發(fā)了地址選擇而App未處理此回調(diào)導(dǎo)致崩潰。這個(gè)Bug在人工測(cè)試中從未被發(fā)現(xiàn)因?yàn)闇y(cè)試用例只覆蓋標(biāo)準(zhǔn)支付路徑。5. 進(jìn)階實(shí)踐Fastbot與CI/CD集成及定制化擴(kuò)展5.1 Jenkins流水線集成實(shí)現(xiàn)每日自動(dòng)遍歷Fastbot的價(jià)值在于持續(xù)運(yùn)行而非單次測(cè)試。我們將它集成到Jenkins CI流水線中實(shí)現(xiàn)每日凌晨2點(diǎn)自動(dòng)執(zhí)行pipeline { agent any environment { XCODE_VERSION 13.4.1 FASTBOT_VERSION 0.9.2 } stages { stage(Checkout) { steps { checkout scm } } stage(Build IPA) { steps { sh xcodebuild -workspace YourApp.xcworkspace -scheme YourApp-Fastbot -configuration Release -sdk iphoneos clean archive -archivePath build/YourApp-Fastbot.xcarchive sh xcodebuild -exportArchive -archivePath build/YourApp-Fastbot.xcarchive -exportPath build -exportOptionsPlist exportOptions.plist } } stage(Run Fastbot) { steps { sh fastbot-ios --app-path build/YourApp-Fastbot.ipa --device-id ${DEVICE_UDID} --duration 7200 --output-dir fastbot-report } } stage(Report Analysis) { steps { script { def crashCount sh(script: grep -c Crash detected fastbot-report/crash.log, returnStdout: true).trim() if (crashCount.toInteger() 0) { emailext ( subject: FASTBOT CRASH ALERT: ${crashCount} crashes in ${env.JOB_NAME}, body: See report at ${env.BUILD_URL}artifact/fastbot-report/, to: qa-teamcompany.com ) } } } } } }關(guān)鍵點(diǎn)exportOptions.plist必須包含method ad-hoc和teamID YOUR_TEAM_ID否則導(dǎo)出ipa失敗。5.2 定制化Policy引擎讓Fastbot理解你的業(yè)務(wù)邏輯Fastbot的默認(rèn)Policy是通用型但你可以通過(guò)繼承BasePolicy類實(shí)現(xiàn)業(yè)務(wù)定制。例如電商App需優(yōu)先點(diǎn)擊“購(gòu)物車”圖標(biāo)class ECommercePolicy: BasePolicy { override func selectElement(_ elements: [XCUIElement]) - XCUIElement? { // 優(yōu)先找購(gòu)物車圖標(biāo) let cartElements elements.filter { $0.identifier.contains(cart) || $0.label.contains(購(gòu)物車) } if !cartElements.isEmpty { return cartElements.first } // 否則按默認(rèn)策略 return super.selectElement(elements) } }編譯后替換libfastbot.dylib中的Policy類即可生效。注意需用Xcode重新編譯Fastbot源碼修改位于FastbotCore/Policy/BasePolicy.swift的文件。5.3 與現(xiàn)有測(cè)試體系融合Fastbot不是孤島Fastbot不應(yīng)取代XCUITest而應(yīng)與其形成互補(bǔ)XCUITest負(fù)責(zé)“守”驗(yàn)證核心業(yè)務(wù)流程登錄→下單→支付的100%成功率Fastbot負(fù)責(zé)“攻”探測(cè)XCUITest未覆蓋的邊緣路徑如弱網(wǎng)下點(diǎn)擊“重試”按鈕100次數(shù)據(jù)互通將Fastbot發(fā)現(xiàn)的Crash堆棧自動(dòng)創(chuàng)建Jira Issue并關(guān)聯(lián)到對(duì)應(yīng)ViewController的Git Commit資源復(fù)用Fastbot的blacklist.json可同步到XCUITest的ignoreList避免重復(fù)測(cè)試無(wú)效區(qū)域。最后分享一個(gè)技巧Fastbot的--seed參數(shù)可設(shè)置隨機(jī)種子。當(dāng)你發(fā)現(xiàn)某次遍歷觸發(fā)了罕見Crash記錄下--seed 123456下次用相同seed復(fù)現(xiàn)能100%重現(xiàn)問(wèn)題。這比“偶發(fā)Crash無(wú)法定位”強(qiáng)太多。我在處理一個(gè)EXC_BAD_INSTRUCTION崩潰時(shí)就是靠固定seed在300次遍歷中精準(zhǔn)復(fù)現(xiàn)了第173次的操作序列最終定位到Swift泛型類型擦除的內(nèi)存越界Bug。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产91久久九九免费精品无码| 日本精品一区二区三| 国产中文日韩欧美一区二区三区人妻丝袜美腿 | 99久久精品国产系列| 手机在线视频国内精品| 精品久久久久久久久久久久 | 国产精品亚洲天堂网址| 91天美传媒精品| 大香蕉中文在线| 亚洲精品人妻吞精av| 夜夜国产一区| 国产黄色影片在线观看| 国产丰满少妇久久久精品影院| 97精品久久| 熟妇人妻精品一区二区视频色欲| 久久国产乱子伦精品免费女,网站| 欧美精品xxxwww| yy少妇精品久久| 欧美日韩亚洲一区二区在线观看| 麻豆 亚洲 97| 丝袜熟女一区二区三区| 欧美日韩系列| 亚洲另类色图片| 黄片免费日韩| 色女99一级片在线观看| 狼狼色丁香久久婷婷综合五月| 综合天天网| 欧美日韩国产三级黄色| 囯产精品强| 亚洲精品亚洲人成在线麻豆| 欧美写真视频一区| 久操黄色视频| 欧洲黄色网| 欧美78| 日韩一区二区精彩视频| 91成人社区| 日逼国产| 九九热三级片| 日韩二三区| 狠狠操官网| 日日碰视频网| 99热这里只有精品9| 91美女精品| 国产精品一区二区在钱播放| 免费精品中文字幕| 999精品乱码| 日韩美女久久一区二区三区| 日韩人妻一二三区视频| 97在线观看视频| 欧美日韩成人在线| 日韩福利电影网| 上床不卡网站| 夜夜爽夜夜摸夜夜操免费视频| 26uuu国产免费观看| 97超碰中文在线| 国产精品 午夜福利| 久久精品国产亚洲AV片多多| 91黄站| 欧美性后入| 操逼天美3区| 五月天欧美色图| 色婷婷狠狠| 国产亚洲色停停久久99精品91| 九九拍拍精品视频在线播放 | 亚洲欧美日韩偷拍色图| 天天摸夜夜操视频| 丁香六月婷婷综合| 久草网站免费在线观看| 色色九区| 老女人老91妇女老热女| 亚洲午夜免费狠狠干| 宅男影院久久久,99| 久久美国毛片| 青青草吊丝| 色婷婷成人| 懂色综合久久久| 亚洲中文字幕一区二区| 欧美综合网1| 偷拍盗拍亚洲色图图片| 日韩三级久久久| 亚洲欧洲成人在线电影| 久久久无码视频| 金莲网址| 加勒比东京热五月天天堂网| 成人熟女区| 99无码| 亚洲成A∨人影院在线欢看| 男人的天堂1024| 69人妻精品丰满熟女区| 黄色小说亚洲| 五月天婷婷社区| 欧美激情 亚洲色图| 黄色av一区二区在线| 国产精品午夜福利| 欲射影视| 欧美熟妇视频| 激情开心五月天| 操逼国产免费| 操逼日批| 亚洲不卡一| 920日本午夜免费| 少妇淫妇久久久久久久| 韩日精品福利视频一区不卡在线免| 欧美性爱另类综合| 超碰在线香蕉| 一级做受视频免费是看美女| 岛国天天午夜影院传媒网| 亚洲码和欧洲精品激情系列| 日本一区二区三区精品| 日韩亚洲美女一区久久| 九九激情网| 夜色AV无码手机在线影院| 久久av无码| 1240青青草一区二区三区视频天爱| 四虎免费视频| 国产精品免费日韩| 秋霞一级A片黄色视频| 大香蕉一级黄色片久久| 亚洲欧美日韩制服另类| 亚洲在线网站| 岛国大片国产| 色色色欧美| 日本欧美亚洲高清在线看| 日本日逼高清| 色翁荡息又大又硬又粗又爽| 欧美区亚洲区偷拍区| 91丝袜视频在线观看| 国产精品一区在线播放| 日韩无码服务区| 欧洲色综合| 亚洲人精品久久久| 九九九九热| 操一操摸一摸| 国产成人拍国产亚洲精品| 天天干人人看综合| 亚洲国产美女久久久久| 男女做爰猛烈动高潮A片免费应用| 啊啊啊啊啊啊在线观看| 12一15性XXXX粉嫩国产| 无码外流操逼视频| 人人摸人人添人人操| 久久社区一区二区三区| 蜜乳AV网址| 精品一二三区久久AAA片| 爱av免费| 婷婷五月天补不补| 色大师网站www永久网站视频| 另类av天堂| 嗯嗯啊啊视频一区二区三区| 中字一区| 中日韓欧美高清| 欧美亚洲| 亚洲熟女精品| 91精品国产麻豆国产自产在| 婷婷亚洲综合| 校园春色综合色| 搞中出视频在线观看| 嗯,啊。舔我逼| 97天天在线| 婷婷激情五月综合| 91东北熟女| 两女互慰AV高潮喷水在线观看| 天天干人人干天天日97| 色小视频蜜乳| 夜夜嗨av午夜成人| 日本大香蕉综合网| 国产大学生口爆吞精合集| 日本网色| 日本女厕偷拍| 久久久久久中文| 国产精品久久久久久久久久久久久久| 天天插夜夜操| 嗯嗯啊操我| 丁香五月天久久精品视频一区二区三区| 九一性生活免费视频| 91美女视频直播| 日本欧美中文字幕| 黄色网址在线免费观看| 欧美美女自慰一区二区三区| 亚洲的天堂网| 男女啪啪网站免费视频| 国产一区二区av综合| 久久久久久午夜男人的天堂| 欧美熟女丝袜| 日本506070| 欧美顶级黄色大片免费| 亚洲精品819| 人妻黑丝袜电影| 中国特猛少妇色xxx| 国产精品第一区第一页| 国产免费一区在线观看| 国产妇女精品视频青青草| 久久加勒比| 成人三一级一片aaa| 丁香五月影院| 天天欧美97| 欧美精品一区二区少妇免费A片| 久久精品人妻一区二区三区| 91搞逼视频| 蜜臀国产AV中文字幕| 欧美成人色| 精品高潮| 最新欧洲欧美日本激情网站| 日本三级韩国三级美三级91| 日韩极品无码B| 91熟女熟妇视频网站| 肉丝无码中文高清| 大香蕉免费3| 久久精精区一区二区一蜜桃一区二区| 少妇特黄一区二区三区| 亚洲无线码一区国产欧美国| 青青伊人加勒比海| 八戒无码国产午夜福利| 欧美亚洲综合色| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 欧美黑人91| 人人操 欧美| 五月天激情综合网| 中文字幕一区二区三区四五区| 国产精品国产自产高清AV| AV天天在线观看| 超碰色大香蕉| 久久久九九网站| 欧美在线|亚洲| 久久久久人妻二区精品叶可怜| www鬼畜国产男人的天堂| 大鸡巴久久| 综合一区中亚洲国产成人综合精品| 91性高| 亚洲男人综合| 一区,二区,三区网站| 欧美色涩| 95精品在线| 日本在线伊人啪啪| 天天日天天舔天天喷天天射| 天天日夜干| 99热精品在线观看| 91一区二匹| 天天综合色| 亚洲熟女诱惑| 亚洲熟女国产综合另类| 色在线视频导航| 久久久久性熟视频| 肏逼视频日本| 久久中日麻豆| 乱论91| 久久久91福利姬| 欧美麻豆成人同性GⅤ在线| 超碰久久草| 国产精品自拍xxxx| 97亚洲国产| www.色操逼| 91色欧美| 在线视频一区二区传媒| 亚洲va有码在线天堂| 日日摸日日碰| 色999五月色| 欧美激情区| 久久99国产综合精品女同| 国产精品人妻无码久久久互動交流| 天天摸天天插天天日| 97超碰人人操人人操| 哈哈操电影AV| 婷婷AV一区二区三区| 日韩精品啪啪啪| 久99久视频精选| 熟女激情综合网| 最新精品久久蜜桃 | 亚洲天堂另类美腿| 精品视频免费在线一区| 中文字幕av一区二区三区人妻少妇 | 久久性爱精品一区| 二级毛片| 日日日啊啊啊| 51一区二区三区| 亚州欧美另类| 亚洲精品欧美专业| 操人91| 成年人黄色视频免费| 久久国产精品熟女人妻| 亚洲国产午夜真人一级片中文字幕精品黄网站| 国产sv美女内射| 日本不卡码黄色| 91久久精品中文字幕| 色约约一区=区三区| 色第一页| 5月婷婷6月六月丁香| 久久久久国产精品久久久| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 国产又大又粗又长视频| 欧美se亚洲| 国产尹人在线视频免费| 尤物网址| 中文操逼字幕| 嗯嗯啊啊啊好爽| 91久久堂| 久久侵犯人妻爽爽爽| 97人妻免费中文字幕| 精品传媒在线一区| 98福利在线视频| 校园春色之综合网| 熟女六十路| 免费日韩黄片| 天天做天天爱| yazhououmeizongya| 夜夜嗨av午夜成人| 亚洲……91| caoni国产亚洲av| 亚洲自拍偷拍视频在线| 久久午夜色播影院免费高清| 黑人综合色| 天天看人人操屄犊摸阴| 吻戏激情性巴克| 免费A V在线播放| 日韩av性爱在线播放| 97鸡把在线视频| Julia Annxxxxx| 亚洲另类色图片| 欧美熟爽综合| 五月婷婷综合网| 欧美日韩国产高清在线一二三区 | 亚洲 一区二区 自拍| 国内毛片热久久思思热| 无码人妻1727| 人爽不卡视频| 91女日逼| 夜夜欧美| 精品国产乱码久久久| 91色综合色| 成人在线永久| 大肉棒导航| 97 视频在线| 九九久久一区二区三区| 91在线欧色| 尹人大香蕉视频在线| 爱做久久久久久| 青青操综合网| 天天弄天天操| 一级@啪啪视频| 超碰在线人妻中文字幕| 男人的天堂 在线一区| 欧美在线啊啊| 欧美懂色综合网| 亚洲色91| 91成人18| 久久av无码| 国产黄色视频久久| 午夜福利激情在线视频| 亚洲欧美在线观看无码| 在线综合 亚洲 欧美中文字幕| 亚洲一区在线观看欧洲| 久久久久久亚洲Av无码精| 18禁看网站一区| 97久久精品| 女色综合| 波多野结衣被操50分钟免费视频| 日韩精品免费高清视频在线| 人人干人人操人人..com| 日韩性爱免费视频在线网站| 日韩欧美字幕亚洲一区二区| 色综合九九| www色色com| 99啪啪| 久久久久成人蜜桃精品| 日本不卡码黄色| 嗯嗯啊啊好疼| 一区二区三区男人的天堂| 超碰色97| 成年人网站在线免费观看| 国产成人拍国产亚洲精品| 亚洲欧洲综合成人av一区| 一级aaaaa欧美中文字幕录像片| 国产精品自拍xxxx| av资源在线播放天堂| 99自拍视频在线观看| 五月天婷婷小说| 丁香五月天婷婷姐| 女人的天堂大香蕉网| 大香蕉日亚洲日本亚大| 五十路三区在线| 另类图片欧美激情综合| 日本高清_区二区三区| 久久草大香蕉| 女一区二区| 啊啊啊啊啊啊啊啊要喷了| 久久婷婷苹果| 日本孕妇一区二区视频操逼免费看| 性暴力欧美猛交在线直播| 青娱乐久久艹| 偷拍 精品 另类 四区| 密臀AV在线| 九九精品网| 性色AV蜜色av色欲av| 在线免费观看日韩一区| 五月丁香影视| 91精品国久久久久久无码| 亚洲中文sv| 婷婷操视频| 亚洲国产精品无码AV在线| 一区二区偷拍拍视频| 9精品在线| 大茄子熟女AV导航| A V视频日本| 熟妇熟女视频一区二区三区| 欧美 亚洲 91| 国产午夜福利专区综合| 五月丁香网站| 五月天加勒比啪| 亚洲国产精品成人久久蜜臀| 麻豆啪啪啪视频| 国产天天骚| 欧美骚少妇| 情趣丝袜无码操逼视频| 中文字幕成人| 日韩淫色网| 日韩性爱小视频| 国模精品娜娜一二三区| 天天干天天中出av| 一区二区三区美女超清| 激情综合网激情五月天| 夜夜骑操视频| 人人艹亚洲| 亚洲 欧美 中文 日韩超碰| 亚欧美综合| 精品日韩中文在线| 蜜臀精品1区2区| 青草地一本线一区二区三区| 色欲日韩欧美在线一区| 91久久堂| 亚洲精品尤物yw在线影院| 狠狠中文字幕| 亚洲第一视频 欧美风情 日韩| 亚洲无吗在线视频| 国精综合一二三区影视| 91丨九色丨国产丨人妻在线| 大香蕉免| 三级日韩一区二区三区| 夜夜操91744565| 啊啊啊免费| 麻豆久久久一区二区| 91精品在线播放| 黑丝自慰喷水网站| 精品人妻一区二区三区夜夜| 久久精品国产亚洲妲己影视| 男人的天堂2018.| 午夜爽爽爽| 久久九九99| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 青青草在线视频欧美| 亚洲色欧美| 国产精品老熟女一区二区| 久久这里只| www99热| 国产又粗又长的视频| 性做久久久久久久| 中文字幕1区2区| 激情五月天社区| av草草在线电影| 国产精品视频白浆免费| 国产三级中文字幕粉嫩| 日韩啪啪网| 亚春色色| 97啪啪| 在线视频资源| 国内外色色色色色成人视频| 午夜操一操| 麻豆天美国美国产| 天天综合网日韩| 久久色激情一区二区三区| 91青青草| 欧美色图片91| 隔壁邻居波多野结衣中文字幕| α√在线| 精品性爱一二三区| 亚洲图片日本AⅤ欧美在线| wwwcaobibi| 国产成人亚洲精品无码古代早漏男 | 黑操B| 无码九九| 久久欧美性爱视频| 99re3这里只有精品| 208天天久久九九九| 男人的天堂 在线一区| 亚洲天堂7777| 天堂资源欧美| 午夜毛片亚洲精品片国产久久久| 九九热在线精品视频| 中文字幕片| 骚鸭AV| 欧美系列在线一区二区| 国产中文字幕在线点播| 欧美日韩国产成人高清| 91精品电影18| 人人看人人爰人人操| 色眯眯av| 日本欧美成人片AAAA| 羞涩视频| 久久久久大香青草精品综合| 一区二区三区机械有限公司| 九九久久玖玖| 超碰这里只有精品| 亚洲文学偷乱拍啪啪啪啪| 亚洲最大AV网| 丝袜美腿亚洲| 色九九九综合| 澳门特级毛片免费观看| 欧美欧美啪啪视频| 国产风韵犹存熟妇三区| 丁香久久| 国产极品美女高潮无套在线观看| 亚洲骚逼少妇| 精品一久久久| 婷婷激情四射| 777琪琪午夜免费A片| 97欧美色综合| 欧美se亚洲| 亚洲天堂7777| 国产美女高潮| 91色伦| 97干com| 亚洲欧美一区二区三区一猛片| 国产一级内射高清视频| 热的中文 热的有码 热的国产| 丁香五月天啪啪| 欧美亚洲一级在线观看| 98超碰欧美| 天天α片| 久热69九色熟妇97| 黑人精品成人一区二区三区| 尤物网站91| 色网亚洲人| 久久久穴999| 午夜免费福利视频一区| 精品高清一区二区三区三州| 日本加勒比无码专区| 亚洲综合网图| 91九色首页| 中日韩久久久| 乱性AV| 91白嫩| 毛片麻豆91糖心精品毛情片| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 97人亚洲综合字幕| 91久久久久久| 黄色视频特级毛片| 蜜乳AV.COM| 日韩97| 欧美综合色,www| 97视频在线观看网站| 一道本东京热加勒比一区二区三区| 99热网站| 韩日无码在线观看| 琪琪精品免费一区二区三区| 蜜乳中文字幕a在线| 男人的天堂va在线| 99视频自拍区| 色老大| 亚洲欧美激情小说| 无码一区二区三区四区五区六区七区八区九区十区视频 | 色婷婷色99国产综合精品| 成人免费看吃奶视频网站| 欧美人与动性人交a| 欧美啪啪色吧在线| 蜜桃久久一区| AV有码在线| 欧美综合综合| KK色在线影院| 欧美激情黑人| 国产女主播视频在线观看| 亚洲天堂日本| 老司机午夜精品福利视频一区二区| 樱花草社区www中国| 少妇同性| 中国黑人三级片网站上区| 91亚洲精品青草| 又黄又爽在线观看视频| 美中韩AV综合网| 亚洲 欧美 天天| 99热9| 色五月婷婷麻豆在| 亚洲激情视频| 极品白嫩美少妇在地板上位骑射淫水泛滥| 欧美美女视频| 亚洲国产综合图区中文字幕| 久久久亚洲| 欧美欧美少妇| 男人的天堂网页| 日本一道在线播放高清| 国产丝袜美女在线一区| 性久久久| 欧美十八禁导航成人| 在线观看AV片| 国产成人www免费人成看片| 久久久久幕乱码| wuyechaopeng| 性91| 性综合网| 亚洲激情综合另类男同| 天天日B夜夜干B时时操B| 国产又粗又长又爽又色| 91色情黑丝搞鸡在线观看一区二区三区三州| 久99视频| 有码免费观看| 国产精品毛片| 欧美姓爱综合网| 蜜臀一区二区三区在线| 无码最新| 99免费视频| 玖玖爱一区在线| 大香蕉在线SuP| av天堂电影网| 福利操逼| 婷婷导航| 性性久久| 使劲用力艹少妇视频一区二区| 欧美精品系列| 久久午夜鲁丝片| 欧美日韩国产高清在线一二三区| 人妻久久久| 国产丰满少妇久久久精品影院| 色娱乐色呦呦夜夜夜夜av| 欧美综色欧| 中文字幕日韩专区精品系列| 色吧5亚洲| 在线观看色视频| 欧美日韩国产中文超碰| 欧美综合 站| 九九久久久| 亚洲av影音先锋| 看日韩美女二区三区免费操逼视频| 精品国产国产AV| 久草新在线| 久久久久久久伊人精品| 亚洲精品丝袜-不卡成人免费…… 久久久久成人蜜桃精品 | 欧美18禁91| 欧美最婬乱婬爆婬牲视频| 久久 国产 无码| 五月天综合在线| 色色色色色色色色综合| 亚洲猛交| 亚洲国产麻豆一区二区三区| 9999伦理视频| 欧美激情精品| 亚洲综合精品国产一区| 亚洲大色堂| 手机在线大香蕉| 亚洲欧美日韩精品久久久一区二区| 有码免费观看| 青草一区二区| 高清国产av无码| 97欧美色资源| 欧亚无码视频| 欧美性猛交美女自慰91| 992大香蕉| 亚洲国产精品无码AV在线| 中文字幕片| 91狠狠综合| 婷婷五月天成人网| 亚洲诱惑天堂 | 亚洲精品乱码久久久久久蜜桃麻豆 | 日本性一区| 亚洲精品国产熟女| 亚洲综合另类欧美久久久| 超碰九7免费| 激情五月丁香五月| 欧美洲精品一级| 手机在线人成免费视频| 日韩精品电影| 人人操人人摸人人看人人插| 久久久不能久久久久| 日韩啪啪视频| 久久久人妻| 大逼色网站| 天天插天天射| 蜜桃传媒视频第一区入口在线看| 国产亚州高清国产拍精| 国产人妻精品一区二区三区秋霞| 国产精品ⅴ无码大片在线看.| 亚洲色图a| 亚洲一区二区三区在线激情| 麻豆天美电影一区二区| 午夜毛片亚洲精品片国产久久久| 五月婷婷色| 精品十八在线观看| 婷婷综合网站| 啊啊啊好疼| 人人插人人摸人人| 欧美色爱综合| 色播综合| 美欧色综合| 国模一区二区三区| 国产精品高潮久久久无码| 黑操B| 岛国爱情动作片在国产AV无码专区亚洲AV漫画| 亚洲 图片 综合91| 亚洲一区日韩精品中文字幕 | 久久久久久91香蕉国产| 香伊人在线| 噜噜噜亚洲精品| 黄片直播三级黄片两女一男| 亚洲情色 无码专区| 久久婷婷五月综合| 在线亚洲欧美| 国产精品色哟哟| 2019天天干天天操| 久久久999国产精品| 一级黄色影片| A 天堂| 热久日综合| 无码免费精品高清| 精品一级| 中文字幕乱碼在线| 日日日日做夜夜夜夜无码| 风月影院男女十八禁| 日本韩欧美在线播放a| 人人澡人人干| 九九成人精品| 不卡啪啪视频| 丰满人妻一区二区三区免费| 久草毛片电影怡| 国产无码一二三区| 久久久96| 香港日本韩国人妇99www.wccm20| 国产成人精品日本亚洲语言| 日本不卡二区| 男人的天堂日本东京热| 亚洲精品色| 人妻一区二区三区视频| 96精品一区| 亚洲欧洲小说图片视频| 国产AV精久久| 好吊色青靑草| 91男人天堂网| 久久久99久9| 亚洲 日韩 丝袜 熟女 变态| 五十路三区在线| 亚洲日韩欧美一区二区| 日韩性爱电影一区| 色综合一本| 97色操| 秋霞午夜视频一区二区| 99精品久久久久久久婷婷蜜桃| 欧美真人抽搐一进一出gif| 自拍第一页| 人妻密肉在线观看| 欧美日韩操逼嗦吊| 看免费的黄片| 97欧美日韩精品| 美性中文综合网| 日韩美脚一区二区网站| 久久九九国产精品| 久操91视频| 中文字幕一区二区三区人妻不卡| 熟女色图在线| 偷拍 精品另类 凸凹了四区| 手机在线观看不卡无码av| 少妇一级无码精品| 欧美综合天堂| 欧美第一页| 91亚州欧美| 麻豆久久久一区二区| 婷婷视频在线免费观看| 国产黄色在线播放观看| 中文字幕一区二区无码成人| 日产123区精品免费观看| 久九九九九九九热| 99热官网| 婷婷亚洲综合| 岛国艾薇凹凸视频天堂| 久久久久久99AV无码免费网站| 凌辱美少妇久久aV| 超碰97综合网| 99re在线视频| 国模不卡一本二本三电影| 天美av在线观看| 97色在线| 日本高清一区二区在线| 大香网站| 欧美黑人精品在线播放| 国产毛片片精品天天看视频| 青青久久艹| 午夜福利 成人 91| 欧美第二页午夜| 久久动漫精品视频这里只有精品| 欧美性区| 大香伊人在线一区| 亚洲中文字幕妇伦久久| 久久香蕉国产传媒一区剧情天美| 五月婷婷激情综合| 五月天玖玖资源站| 亚洲偷拍自拍在线视频| 久久精品国产亚洲AV片多多 | 久久亚洲一区女同性恋中文字幕 | 欧美日韩啪啪电影| 欧美日韩大香蕉| 人妻丰满熟妇av无码区蜜桃| 亚洲人妻久久久| 蜜臀一二三区| 成人开心网在线视频| 日产成人久久| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 4399成人黄A片| 日本午夜久久电影| 99热这里只有精品9| 欧美激情五月天| 五月丁香综合激情| 夜夜爽77777| 四虎影库国产精品免费| 久久久久久久久久久97| 99re这里只有精品3| 少妇同性| 麻豆天美传媒在线视频天堂| 欧洲一区二区三区免费| 亚州欧美总和| 色噜噜人妻av中文字幕| 超碰九九| 久久久久久性爱免费视频| 亚洲天堂精品日韩电影| 亚洲AV麻豆Aⅴ无码电影一| 美国精品国产精品| 久干9操| 精品国产91内射久久| 日韩中文字幕人妻视频| 国产极品美女高潮无套在线观看| 日本国产欧美高清在线| 亚洲性爱无码乱伦av| 色哟哟511老熟女| 入口操逼网站| 99无码| 精品久久久久黄少妇| 自拍欧美| 日本高清一本二本免费不卡| 久久久一区二区三区麻豆| 后入合集| 最新无码国产| 国产真实野战在线视频| 九九在线精品| 亚洲最大的黄色电影网站。| 激情五月天校园春色网| 91熟女丨老女人| 免费成人自拍视频在线| 精品美女少妇一区二区三区| 蜜臀aV午夜一区二区三区| 久久尹人大香焦视| 超碰在线欧美性爱激情| HEYZO高无码国产精品227| 日韩av女优在线免费一区| 在线97在线| 欧美激情亚洲| 人人玩人人添人人澡免费| 一本一道vs波多野结衣| 白嫩嫩一区| 97丝袜亚洲在线播放| 国产国产亚洲一二三久久| 一级性爱视频免费观看 | 人人人摸人人| 日本午夜久久电影| 色婷婷在线视频精品导航| 精品二999| 亚洲国产97| 亚洲一卡2卡3卡4卡乱码网站 | 亚洲情色中文字幕一区| 久久久爆乳翘臀一线天伦理视频| 亚洲自拍一区夜夜操| 日日躁夜夜躁狠狠躁超爽| 一道α片欧美| www.婷婷六月天| 天天色踪合| 人人操人人色网| 秋霞蝌科网日本一区| 久久9亚洲| 四虎av在线| 亚洲国产成人精品999| 五月天大香蕉| 精品中文日韩字幕视频| 可免费观看的av毛片中日美韩| 岛国在线一区二区三区| 欧洲Au麻豆| 日本媚薬中文字幕在线| 草草网站影院白丝内射| 无码heyzo高清一区| 日日躁狠狠躁天天躁精品| 免费的黄片有限公司| 深夜啪啪啪视频免费| 国产乱码久久久久久| 强奸抽插av| 天美传媒一二三区永久网站| 午夜精品久久久久久久99热影院| 亚洲色交| 亚洲成人免费在线| 超碰无码五月97| 永久电影三级在线观看| 六月丁香五月婷婷| 一本色道久久综合狠狠操| 亚洲第一精品在线视频 | 7月婷婷综合| 97国产精品一区二区传媒公司| 国产小视频91| 亚洲熟女乱综合一区二区三区| 999久久久免费精品国产牛牛| 婷婷五月天伊人| 欧洲亚洲人妻无码高清久久三区四区| 无码丰满熟妇一区二区浪潮AV| 蜜桃在线观看一区二区三区| 亚洲开心网| 韩国久久97| 成人无码欧美一级A片狼牙直播| 免费在线观看国内色片网站网址| 91欧美美女日韩国产婷婷| 天天看天天日天天操| 啊啊啊操一区| 天天综合欧美| 另类图片五月| 97在线免费看视频| 女人爽到高潮久久久| 人妻丝袜一区二区三区在线| 五月婷婷激情综合| 久久久久久99999国产精品| 女人喷水视频在线观看| 天天情欲宗合网| 偷拍自拍在线视频观看| 久久熟女久| 乱伦AVxx| 亚洲影视高清第一页| 人成午夜免费大片| 久久人妻一区二区三区高清| 国产偷拍自拍在线视频| 黄久久| 国内毛片无码一级毛片| 日日97| www.激情| 丁香色狠狠色综合久久小说| 久久久99久9| 九九九精品成人免费视频小说| 欧美久久毛片基地| 人妻丰满熟妇一区二区三| 欧美97视频| 精品高清一区二区三区三州| 久久久精品久久| 去干网最新版| 我想要啊 啊 啊| 一区在线观看中文字幕| 高清孕妇孕交 交| 91女人的网站| 色99999| 极品粉嫩少妇视频| 国产精品久久久久亚洲av| 中出人妻中文字幕91在线| 26uuu国产成人综合| 国产一区二区精品久久久不卡蜜臀 | 亚洲一区二区麻豆影院| 欧成人精品H无码| 一区中文字幕二区日韩| 久草国产在线视频| 欧美亚洲天天| 国产一区二区三区中文字幕| 国产家庭乱伦性爱视频| 97草草| 久久久一区二区三区四曲免费听 | 在线看的av| 人伦四五区| 青青草原人妻| 免费久久一级毛片大黄| 欧美洲精品一级| 国产欧美伊人| 爽极品影院| 一区二区播放| 日本青青草在线| 乳欲人妻办公室奶水| 老司机香蕉久久久久| 亚洲乱熟女一区二区三区大香蕉| 亚洲精品97久久| #NAME?| 男人的天堂亚洲| 四虎国产精品永久地址入口| 91少妇香蕉久久精品| 日本三级韩三级99久久| 亚洲天天综合| 日韩欧美天天爽爽爽天天爽爽| 欧美视频在线视频免费va| 毛片99-全集电影手机免费观看完整-B029AV | 96精品一区| 97操97色| 亚洲国产精品成人无码久久久| 天天射夜夜骑| 91国内外在线| 精品国产污一区二区三区| 国产亚洲精品美女久久久久久2021| 日本媚薬中文字幕在线| 欧美激情久久久久| 国产夜夜艹| 日韩无码专区| 成人无码电影在线观看网| 91观看 国产白丝| 97超视频在线观看| 奸色色 男人天堂 天天射| 伊人五月天激情| a亚洲欧美色欲| 中文字幕福利视频一区二区三区在线观看| 日韩欧美丝袜诱惑| 丁香六月综合激情| 夜色AV无码手机在线影院| 日本孕妇一区二区视频操逼免费看| 青青草原成人| 亚洲宗合网| 美女露胸露奶头| 婷婷色导航| 激情综合网五月婷婷五月天| 74成人在线| 日本精品一区二区不卡| 蜜桃臀AV在线| 亚洲性猛交| 日韩欧美成人大香蕉| 天天弄天天操| 狠狠色噜噜狠狠狠狠狠色综合久久 | 婷婷综合在线| 日韩电影在线观看网址| 亚洲激情在线| 久啪视频| 啊灬啊灬啊灬啊灬高潮奶出了免费视| 精品人妻一区二区免费蜜桃| 激情第四色| 五月婷婷性爱| 国产成人无码久久精品| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 国产乱伦亚洲| 国产日韩无码一区二区三区久久区| 日韩情色一区二区| 啊啊啊啊无码| 精品免费成人久久| 国产吹潮女在线观看| 成人欧美日超碰| 欧美夜夜骑视频| 欧美 亚洲 制服 精品| 五月天婷婷激情| 狠狠爱综合网| 色狠狠色| 大香蕉五月天| 色牛牛AV| 日本熟女中文| 五月婷婷久久综合| 国产免费一区在线观看| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 足交视频老司机| 国产精品。| 青青草日本中文字幕| 五月婷婷激情| 中文字幕第页| 精精夜夜| 五月天丁香欧洲日韩| 啪啪91| 亚洲乱色视频一区、二区在线| 青青草视频久久| 99re这里只有精品中心播放| 丰满翘臀美女影院视频| 天天干一干| 九九无码久久精品视频| 色一射色一射| 超碰爽人妻熟女Av| 欧美18禁91| 天美av在线观看| 亚洲国产激情国产av| 九九久久99| 五月婷婷综合激情| 把腿张开老子CAO烂你| 国产特级毛片AAAAAA高潮流水| 成人无码在线超碰网| 久久亚洲AV无码专区国产精品| 強姦亂倫a| 精品一区二区成人| 牛黄色久午久| 色情综合网| 精品久久久久,69国产成人精| 超碰性爱97| 人妻无码后入| 97视频新免费| 十八禁黄色| 久久久久久久唑| 牛牛AV人人夜夜澡人人爽| 日韩无码a片| 首页中文字幕中文字幕免费| 激情五月天综合网| 99re3这里只有精品| 西西美女视频网| 天无日色综合| 91操人| av九九| 亚洲AO在线| 天天摸夜夜操视频| 深夜激情| 久久久久久网址| 国产99精品一区二区三区免费| 高清在线偷拍自拍视频| 精品人人| 久久综合女优| 91中文字幕在线观看| 男人的天堂 在线一区| 欧美日韩午夜精品一区二区三区 | 最好看的中文字幕在线2018| 日本123区操B视频| 九九九九九九九精品视频| 精品国产91久久久久久一区黄无| 午夜AV污污污| 亚洲人综合19| 草莓精品视频在线免费观看| 996热| 久久a久久| 吊色| 亚洲欧美国产中文视频| yellow网站免费观看日韩高清无码| 婷婷性爱| 国产精品高潮久久AV| 动漫av中文| 色臀av| 黄色视频特级毛片| 婷婷五月天激情小说| 亚洲天天影视综合网| 丰满人妻-区二区三区免费看 | 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 13小男生GAY自慰脱裤子| 久久产精品一区二区三区电影| s片在线观看| 日韩精彩免费| 欧美夜夜骑视频| 久久人妻97久久久久久久| 中文字幕二区| A级国产欧美激情在线| 在线国产一区二区av| 亚洲aw毛茸茸在线| 麻豆色99999| 88xx成人精品视频| 丁香五月婷婷色| 黑人精品久久97| 色香天天| 亚洲一卡2卡3卡4卡乱码网站 | 欧美精品1区2区3区| 欧美少妇第一页| 欧美视频一区二区三区| 日韩操逼HD| 欧亚洲精品有视频| 欧美视频第二页| 欧美精品97| 亚洲欧洲综合视频在线| 中文字幕综合人妻| 校园春色五月天| 中文字幕亚洲在线一区| 综合av影片| 人妻另类 专区 欧美 制服| 99色热| 亚洲情色 无码专区| 亚洲AV成人无码一二三久久| 亚洲色图在线视频| 熟人人妻少妇精品久久| 伊人久久在线视频观看| 欧美成人精品一区二区三区| 超碰人妻久久| 亚洲熟女中文字幕在线| 丰满人妻一区| 久久精品毛片免费不卡| 久久国产精品熟女人妻|