सुलभता की जांच करना

सुलभता सुविधाओं की जांच करने से, आपको अपने ऐप्लिकेशन को अपने सभी उपयोगकर्ताओं के नज़रिए से देखने का मौका मिलता है. इसमें सुलभता सुविधाओं की ज़रूरत वाले उपयोगकर्ता भी शामिल हैं. इस तरह की टेस्टिंग से, आपके ऐप्लिकेशन को ज़्यादा बेहतर और वर्सटाइल बनाने के अवसरों के बारे में पता चल सकता है.

इस पेज पर बताया गया है कि अपने मौजूदा 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 टेस्ट लगातार फ़ेल हो रहे हैं. इन्हें कुछ समय के लिए अनदेखा किया जा सकता है. ऐक्सेसिबिलिटी टेस्ट फ़्रेमवर्क (एटीएफ़), setSuppressingResultMatcher() तरीके का इस्तेमाल करके यह सुविधा देता है. यह तरीका, Espresso को उन सभी नतीजों को छिपाने का निर्देश देता है जो दिए गए मैच करने वाले एक्सप्रेशन को पूरा करते हैं.

जब ऐप्लिकेशन में सुलभता से जुड़े किसी एक पहलू को ध्यान में रखकर बदलाव किए जाते हैं, तो Espresso के लिए यह फ़ायदेमंद होता है कि वह सुलभता से जुड़े ज़्यादा से ज़्यादा अन्य पहलुओं के नतीजे दिखाए. इसलिए, सिर्फ़ उन अवसरों को दबाना सबसे अच्छा होता है जिनके बारे में आपको पता है कि उनसे परफ़ॉर्मेंस बेहतर हो सकती है.

अगर आपको सुलभता की जांच के नतीजों को कुछ समय के लिए छिपाना है, ताकि बाद में उन पर काम किया जा सके, तो यह ज़रूरी है कि आप गलती से मिलते-जुलते नतीजों को न छिपाएं. इस वजह से, ऐसे मैचर्स का इस्तेमाल करें जिनका स्कोप सीमित हो. इसके लिए, कोई मैचर चुनें, ताकि Espresso किसी नतीजे को सिर्फ़ तब छिपाए, जब वह सुलभता से जुड़ी इन सभी जांचों को पूरा करता हो:

  1. किसी खास तरह की सुलभता जांच, जैसे कि टच टारगेट के साइज़ की जांच करने वाली जांच.
  2. सुलभता की जांचें, जो किसी यूज़र इंटरफ़ेस (यूआई) एलिमेंट का आकलन करती हैं. जैसे, बटन.

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))));