HJ3 10.3 appium元素定位與隱式等待

Capability 設(shè)置

  • app apk 地址
  • appPackage 包名
    • adb logcat | grep ActivityManager
    • adb shell dumpsys activity activities | grep mFocusedActivity
    • aapt dumpsys badging com.android.chrome.apk | grep 'launchable-activity'
  • automationName 默認(rèn)使用 uiautomator2(android 默認(rèn)使用 uiautomator2,ios默認(rèn)使用 XCUITest)
  • noRest fullReset 是否在測試前后重置相關(guān)環(huán)境(例如首次打開彈窗,或者是登錄信息)
  • unicodeKeyBoard resetKeyBoard 是否需要輸入非英文之外的語言并在測試完成后重置輸入法
  • 官方文檔:https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/caps.md
  • dontStopAppOnReset 首次啟動(dòng)的時(shí)候,不停止app(可以調(diào)試或者運(yùn)行的時(shí)候提升運(yùn)行速度)
  • skipDeviceIntialization 跳過安裝、權(quán)限設(shè)置等操作(可以調(diào)試或者運(yùn)行的時(shí)候提升運(yùn)行速度)

appium 元素定位

  • driver.findElementsById(resource-id)
  • driver.findElementsbyAccessibilityId(content-desc)

三種經(jīng)典等待方式

  • 強(qiáng)制等待:
    • sleep 不推薦
  • 隱式等待(全局性)
    • 設(shè)置一個(gè)超時(shí)時(shí)間,服務(wù)端 appium 會(huì)在給定的時(shí)間內(nèi),不停的查找,默認(rèn)值是0
    • 用法:driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);
    • 在服務(wù)端等待
  • 顯式等待(等待某個(gè)元素)
    • wait = new WebDriverWait(driver, 10, 1);
    • wait.until(ExpectedConditions.visibilityOfElementLocated(MobileBy.id("com.android.settings:id/title")))
    • 在客戶端等待
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容