Pemeriksaan aksesibilitas

Pengujian aksesibilitas memungkinkan Anda merasakan pengalaman menggunakan aplikasi dari perspektif seluruh basis pengguna, termasuk pengguna dengan kebutuhan aksesibilitas. Bentuk pengujian ini dapat membuka peluang untuk membuat aplikasi Anda lebih canggih dan serbaguna.

Halaman ini menjelaskan cara menambahkan pemeriksaan aksesibilitas ke pengujian Espresso yang ada. Untuk informasi selengkapnya tentang aksesibilitas, lihat Panduan aksesibilitas.

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:

  1. Pemeriksaan aksesibilitas jenis tertentu, seperti pemeriksaan ukuran target sentuh.
  2. 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(
                    matchesCheckNames(`is`("TextContrastViewCheck")),
                    matchesViews(withId(R.id.countTV))
                )
        )
}

Java

AccessibilityValidator myChecksValidator = AccessibilityChecks.enable();
Matcher<? super AccessibilityViewCheckResult> myChecksMatcher =
        Matchers.allOf(matchesCheckNames(is("TextContrastViewCheck")),
                       matchesViews(withId(R.id.countTV)));
myChecksValidator.setSuppressingResultMatcher(myChecksMatcher);