การตรวจสอบการช่วยเหลือพิเศษ

การทดสอบการช่วยเหลือพิเศษช่วยให้คุณใช้งานแอปจากมุมมองของ ฐานผู้ใช้ทั้งหมด รวมถึงผู้ใช้ที่ต้องการการช่วยเหลือพิเศษ แบบฟอร์มนี้ การทดสอบจะแสดงโอกาสในการทำให้แอปมีประสิทธิภาพและใช้งานได้หลากหลายมากขึ้น

หน้านี้อธิบายวิธีเพิ่มการตรวจสอบการช่วยเหลือพิเศษไปยัง 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 ล้มเหลวอย่างต่อเนื่องเนื่องจาก ผลลัพธ์เหล่านี้ทั้งหมด คุณสามารถละเว้นผลลัพธ์ชั่วคราวได้ การทดสอบการช่วยเหลือพิเศษ Framework (ATF) มีฟังก์ชันการทำงานนี้โดยใช้ setSuppressingResultMatcher() ซึ่งจะสั่งให้ Espresso ระงับผลการค้นหาทั้งหมดที่ตอบสนอง ของตัวจับคู่

เมื่อคุณทำการเปลี่ยนแปลงในแอปที่กล่าวถึงการช่วยเหลือพิเศษด้านหนึ่ง เป็นประโยชน์สำหรับ Espresso ในการแสดงผลลัพธ์สำหรับด้านอื่นๆ การเข้าถึงได้ง่ายที่สุด ด้วยเหตุนี้ จึงควรระงับไว้เพียง ที่ควรปรับปรุง

เมื่อคุณระงับผลการทดสอบการช่วยเหลือพิเศษไว้ชั่วคราว ในภายหลัง คุณควรไม่ระงับผลการค้นหาที่คล้ายกันโดยไม่ตั้งใจ สำหรับ ด้วยเหตุนี้ ให้ใช้เครื่องมือจับคู่ที่มีขอบเขตแคบ โดยเลือก ตัวจับคู่ เพื่อให้ Espresso ระงับผลลัพธ์ที่ระบุ เฉพาะเมื่อเป็นไปตามแต่ละรายการ การตรวจสอบความสามารถเข้าถึงได้ง่ายดังต่อไปนี้

  1. การตรวจสอบการเข้าถึงบางประเภท เช่น การตรวจสอบเพื่อการสัมผัส ขนาดเป้าหมาย
  2. การช่วยเหลือพิเศษจะตรวจสอบการช่วยเหลือพิเศษซึ่งประเมินองค์ประกอบ UI ที่เฉพาะเจาะจง เช่น ปุ่ม

ATF กำหนดตัวจับคู่หลายรายการ เพื่อช่วยกำหนดผลลัพธ์ที่จะแสดงในการทดสอบ Espresso ของคุณ ดังต่อไปนี้ ตัวอย่างระงับผลลัพธ์ของการตรวจสอบที่เกี่ยวข้องกับ TextView เดียว คอนทราสต์ของสีขององค์ประกอบ รหัสขององค์ประกอบคือ 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))));