測試 Uiautomator

  
測試跨應用程式功能 UI 架構
最近更新時間 穩定版 候選版 Beta 版 Alpha 版
2023 年 1 月 11 日 - - - 2.3.0-alpha02

宣告依附元件

如果要為測試新增依附元件,您必須將 Google Maven 存放區新增至專案。詳情請參閱「Google 的 Maven 存放區」一節。

在應用程式或模組的 build.gradle 檔案中,新增所需構件的依附元件:

Groovy

dependencies {
    // Use to implement UIAutomator tests
    androidTestImplementation "androidx.test.uiautomator:uiautomator:2.3.0-alpha02"
}

Kotlin

dependencies {
    // Use to implement UIAutomator tests
    androidTestImplementation("androidx.test.uiautomator:uiautomator:2.3.0-alpha02")
}

如要進一步瞭解依附元件,請參閱「新增建構依附元件」一文。

意見回饋

您的意見可協助我們改善 Jetpack。發現新的問題或想要提出關於改進這個程式庫的建議時,請告訴我們。建立新的問題之前,請先查看這個程式庫中的現有問題。只要按一下星號按鈕,即可投票給現有的問題。

建立新問題

詳情請參閱 Issue Tracker 說明文件

2.3.0 版

2.3.0-alpha02 版本

2023 年 1 月 11 日

發布 androidx.test.uiautomator:uiautomator:2.3.0-alpha022.3.0-alpha02 版本包含此連結所列的修訂項目。

API 變更

  • 重新調整整個程式庫的記錄功能,提供更多資訊、針對潛在問題發出警告,並改善一致性。
  • 新增 UiDevice#pressKeyCodes,支援同時按下多個按鍵,例如按下 POWER 鍵和 VOLUME_DOWN 鍵來擷取螢幕截圖 (22e525)。
  • 新增 UiDevice#setCompressedLayoutHierarchy 並淘汰 UiDevice#setCompressedLayoutHeirarchy,修正方法名稱中的錯字 (4e2f65)。
  • 由於 UiAutomatorInstrumentationTestRunner 會處理已淘汰的 UiAutomatorTestCase,因不再需要而標示為已淘汰 (be6c85)。
  • UiObject2 MotionEvent 之間的延遲時間更新為螢幕刷新率的兩倍,更加貼切模擬使用者手勢 (454450)。
  • 新增對多行文字和說明比對的功能支援 (1625e6b/255787130)。

修正錯誤

  • 修正在查詢或等待物件時,有時會擲回 StaleObjectException 的問題 (4cbcc0)。
  • 修正 UiScrollable#scrollToBeginningscrollToEndflingToBeginningflingToEnd 的傳回值不會指出是否已到達開端/尾端的問題 (d33e06)。
  • 修正 UiScrollable#scrollForwardscrollBackward 方法忽略所設逾時的問題 (29e4f3)。
  • 修正 BySelector 複製建構函式無法處理深度選取器的問題 (6c7b91)。
  • 修正 UiObject#pinchInpinchOut 中無效百分比值的處理方式 (01b973)。
  • 修正在極罕見情況下,重設基礎 UiAutomation 連線後發生無法支援多視窗模式的問題 (1bb956)。

2.3.0-alpha01 版本

2022 年 9 月 7 日

發布 androidx.test.uiautomator:uiautomator:2.3.0-alpha012.3.0-alpha01 版本包含這些修訂項目

API 變更

  • 為所有公開方法的空值加註。
  • 加上短暫延遲將 MotionEvent 插入變成非同步狀態,讓 UiObject2 手勢更順暢。
  • 減少輪詢間隔,同時將等待時間從 1000 毫秒縮短成 100 毫秒。
  • 更新 UiDevice#wakeUpUiDevice#sleep,現在使用 KEYCODE_WAKEUPKEYCODE_SLEEP 支援會覆寫電源鍵功能的裝置。
  • 新增 UiObject2#getDisplayId 並支援尋找及管理跨螢幕的物件。
  • 新增 UiObject#clickUiObject2#clickAndWait 方法,現在可以使用座標點選一個點。

修正錯誤

  • 修正問題:系統以往偶有螢幕大小計算錯誤的情況,也可能會忽略螢幕的某些部分 (尤其是在多視窗模式下),這些問題現在已經修正 (Ifc016c)。
  • 修正 UiDevice#takeScreenshot 中的螢幕截圖資源調度 (Id80ad6)。
  • 提升 Until.scrollFinishedUiObject2#scroll 的穩定性 (I7b0595)。
  • 修正嚴格模式 IncorrectContextUseViolation 警告 (Iffa6a0)。