測試無障礙功能可讓您從 全面升級,包括有無障礙需求的使用者。形式 讓您發掘改進應用程式的契機,進而打造出更強大、更多元的應用程式。
本頁面說明如何在現有的 Espresso 中新增無障礙功能檢查 測試。如要進一步瞭解無障礙工具,請參閱協助工具 指南。
啟用檢查功能
您可以使用 AccessibilityChecks
類別啟用及設定無障礙程度測試作業:
Kotlin
import androidx.test.espresso.accessibility.AccessibilityChecks @RunWith(AndroidJUnit4::class) @LargeTest class MyWelcomeWorkflowIntegrationTest { init { AccessibilityChecks.enable() } }
Java
import androidx.test.espresso.accessibility.AccessibilityChecks; @RunWith(AndroidJUnit4.class) @LargeTest public class MyWelcomeWorkflowIntegrationTest { @BeforeClass public void enableAccessibilityChecks() { AccessibilityChecks.enable(); } }
根據預設,當您執行 ViewActions
中定義的任何查看動作時,會執行檢查。每個檢查都包含在其上執行動作的檢視區塊,以及所有子系檢視區塊。在每項檢查期間,您可以將 true
傳遞至 setRunChecksFromRootView()
,以評估螢幕的整個檢視區塊階層,如下方程式碼片段所示:
Kotlin
AccessibilityChecks.enable().setRunChecksFromRootView(true)
Java
AccessibilityChecks.enable().setRunChecksFromRootView(true);
略過部分結果
Espresso 對應用程式執行無障礙功能檢查後,應用程式無障礙功能的一些改進機會可能無法立即解決。為避免 Espresso 測試因這些結果而持續失敗,您可以暫時予以忽略。無障礙功能測試
架構 (ATF) 以
setSuppressingResultMatcher()
敬上
方法,指示 Espresso 隱藏所有符合指定值的結果
比對器運算式。
如果您對應用程式的變更可解決一個方面的無障礙問題,Espresso 會盡可能顯示更多其他方面的無障礙設計結果。因此,建議僅略過特定的已知改進機會。
當您暫時略過計劃稍後處理的無障礙功能測試發現結果時,請務必小心操作,不要意外略過相似的發現結果。出於此原因,建議使用限定範圍的比對器。方法是選擇 比對器 讓 Espresso 只會在符合「所有」條件時略過特定結果 下列無障礙功能檢查項目:
- 特定類型的無障礙功能檢查,例如檢查觸控目標大小。
- 用於評估特定 UI 元素 (例如按鈕) 的無障礙功能檢查。
ATF 定義了多個比對器
,協助您定義要在 Espresso 測試中顯示的結果。下列範例會略過與單一 TextView
元素色彩對比相關的檢查結果。這個元素的 ID 是 countTV
。
Kotlin
AccessibilityChecks.enable().apply { setSuppressingResultMatcher( allOf( matchesCheck(TextContrastCheck::class.java), matchesViews(withId(R.id.countTV)) ) ) }
Java
AccessibilityValidator myChecksValidator = AccessibilityChecks.enable() .setSuppressingResultMatcher( allOf( matchesCheck(TextContrastCheck.class), matchesViews(withId(R.id.countTV))));