Pengujian aksesibilitas memungkinkan Anda menikmati aplikasi dari perspektif seluruh basis pengguna Anda, termasuk pengguna dengan kebutuhan aksesibilitas. Bentuk dapat membuka peluang untuk membuat aplikasi Anda lebih andal dan serbaguna.
Halaman ini menjelaskan cara menambahkan pemeriksaan aksesibilitas ke Espresso yang ada pengujian. Untuk informasi selengkapnya tentang aksesibilitas, lihat artikel Aksesibilitas panduan ini.
Mengaktifkan pemeriksaan
Anda dapat mengaktifkan dan mengonfigurasi pengujian aksesibilitas menggunakan
class
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(); } }
Secara default, pemeriksaan berjalan saat Anda melakukan tindakan tampilan apa pun yang ditentukan dalam
ViewActions
. Setiap
pemeriksaan mencakup tampilan tempat tindakan dilakukan serta semua
tampilan turunannya. Anda dapat mengevaluasi seluruh hierarki tampilan layar selama
setiap pemeriksaan dengan meneruskan true
ke
setRunChecksFromRootView()
,
seperti ditunjukkan dalam cuplikan kode berikut:
Kotlin
AccessibilityChecks.enable().setRunChecksFromRootView(true)
Java
AccessibilityChecks.enable().setRunChecksFromRootView(true);
Menyembunyikan subkumpulan hasil
Setelah Espresso menjalankan pemeriksaan aksesibilitas di aplikasi, Anda mungkin menemukan beberapa
peluang untuk meningkatkan aksesibilitas aplikasi yang tidak dapat segera
Anda tangani. Agar pengujian Espresso tidak terus-menerus gagal karena
hasil ini, Anda dapat mengabaikannya untuk sementara. Framework Pengujian
Aksesibilitas (ATF) menyediakan fungsionalitas ini menggunakan
metode setSuppressingResultMatcher()
,
yang menginstruksikan Espresso untuk menahan semua hasil yang memenuhi ekspresi matcher
yang diberikan.
Saat Anda melakukan perubahan pada aplikasi yang menangani satu aspek aksesibilitas, sebaiknya Espresso menampilkan hasil untuk sebanyak mungkin aspek aksesibilitas lainnya. Oleh karena itu, sebaiknya hanya sembunyikan peluang tertentu yang diketahui untuk peningkatan.
Saat Anda menyembunyikan sementara temuan pengujian aksesibilitas yang akan Anda coba nanti, penting untuk tidak menyembunyikan temuan serupa secara tidak sengaja. Oleh karena itu, gunakan matcher yang terbatas cakupannya. Untuk melakukannya, pilih matcher sehingga Espresso menyembunyikan hasil yang diberikan, hanya jika memenuhi setiap pemeriksaan aksesibilitas berikut:
- Pemeriksaan aksesibilitas jenis tertentu, seperti pemeriksaan ukuran target sentuh.
- Pemeriksaan aksesibilitas yang mengevaluasi elemen UI tertentu, seperti tombol.
ATF menentukan beberapa matcher
untuk membantu Anda menentukan hasil yang akan ditampilkan dalam pengujian Espresso Anda. Contoh
berikut ini akan menyembunyikan hasil pemeriksaan yang berhubungan dengan satu
kontras warna elemen TextView
. ID elemennya adalah 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))));