بررسی دسترسی

آزمایش دسترس‌پذیری به شما امکان می‌دهد برنامه خود را از دیدگاه کل پایگاه کاربر خود، از جمله کاربرانی که نیازهای دسترسی دارند، تجربه کنید. این شکل از آزمایش می تواند فرصت هایی را برای قدرتمندتر و همه کاره کردن برنامه شما نشان دهد.

این صفحه نحوه افزودن بررسی های دسترسی به تست های موجود اسپرسو را شرح می دهد. برای اطلاعات بیشتر در مورد دسترس‌پذیری، به راهنمای دسترس‌پذیری مراجعه کنید.

فعال کردن چک ها

با استفاده از کلاس AccessibilityChecks می‌توانید تست دسترسی را فعال و پیکربندی کنید:

کاتلین

import androidx.test.espresso.accessibility.AccessibilityChecks

@RunWith(AndroidJUnit4::class)
@LargeTest
class MyWelcomeWorkflowIntegrationTest {
    init {
        AccessibilityChecks.enable()
    }
}

جاوا

import androidx.test.espresso.accessibility.AccessibilityChecks;

@RunWith(AndroidJUnit4.class)
@LargeTest
public class MyWelcomeWorkflowIntegrationTest {
    @BeforeClass
    public void enableAccessibilityChecks() {
        AccessibilityChecks.enable();
    }
}

به‌طور پیش‌فرض، بررسی‌ها زمانی انجام می‌شوند که هر گونه عملکرد view تعریف شده در ViewActions را انجام می‌دهید. هر بررسی شامل نمایه ای است که عمل بر روی آن انجام می شود و همچنین تمام نماهای فرعی. همانطور که در قطعه کد زیر نشان داده شده است، می توانید کل سلسله مراتب نمای یک صفحه را در طول هر بررسی با ارسال true به setRunChecksFromRootView() ارزیابی کنید:

کاتلین

AccessibilityChecks.enable().setRunChecksFromRootView(true)

جاوا

AccessibilityChecks.enable().setRunChecksFromRootView(true);

زیرمجموعه های نتایج را سرکوب کنید

پس از اینکه Espresso بررسی های دسترسی را روی برنامه شما انجام داد، ممکن است چندین فرصت برای بهبود دسترسی به برنامه خود پیدا کنید که نمی توانید فوراً به آنها رسیدگی کنید. به منظور جلوگیری از شکست مداوم تست های اسپرسو به دلیل این نتایج، می توانید به طور موقت آنها را نادیده بگیرید. چارچوب تست دسترس‌پذیری (ATF) این قابلیت را با استفاده از متد setSuppressingResultMatcher() فراهم می‌کند که به Espresso دستور می‌دهد تمام نتایجی را که عبارت تطبیق داده شده را برآورده می‌کنند، سرکوب کند.

وقتی تغییراتی در برنامه خود ایجاد می‌کنید که به یک جنبه از دسترس‌پذیری می‌پردازد، برای اسپرسو سودمند است که نتایج را برای بسیاری از جنبه‌های دسترسی تا حد ممکن نشان دهد. به همین دلیل، بهتر است فقط فرصت‌های خاص شناخته شده برای بهبود را سرکوب کنید.

هنگامی که به طور موقت یافته های تست دسترسی را که می خواهید بعداً به آنها رسیدگی کنید، سرکوب می کنید، مهم است که به طور تصادفی یافته های مشابه را سرکوب نکنید. به همین دلیل، از تطبیق‌هایی استفاده کنید که محدوده محدودی دارند. برای انجام این کار، یک تطابق را انتخاب کنید تا اسپرسو تنها در صورتی نتیجه معین را متوقف کند که هر یک از بررسی های دسترسی زیر را برآورده کند:

  1. بررسی‌های دسترس‌پذیری از نوع خاصی، مانند آن‌هایی که اندازه هدف لمسی را بررسی می‌کنند.
  2. بررسی‌های دسترس‌پذیری که یک عنصر رابط کاربری خاص، مانند یک دکمه را ارزیابی می‌کند.

ATF چندین تطبیق تعریف می کند تا به شما کمک کند تا مشخص کنید کدام نتایج در تست های اسپرسو شما نمایش داده می شود. مثال زیر نتایج بررسی‌هایی را که به کنتراست رنگ یک عنصر TextView مربوط می‌شوند، سرکوب می‌کند. شناسه عنصر countTV است.

کاتلین

AccessibilityChecks.enable().apply {
        setSuppressingResultMatcher(
                allOf(
                    matchesCheck(TextContrastCheck::class.java),
                    matchesViews(withId(R.id.countTV))
                )
        )
}

جاوا

AccessibilityValidator myChecksValidator =
    AccessibilityChecks.enable()
        .setSuppressingResultMatcher(
            allOf(
                matchesCheck(TextContrastCheck.class),
                matchesViews(withId(R.id.countTV))));