Espresso
Not for use with personal data
Vous trouverez ci-dessous un exemple pour commencer avec les tests axe DevTools avec Espresso. N'oubliez pas de consulter la section Fonctionnalités du SDK Android pour tout ce que vous pouvez personnaliser dans vos tests d'accessibilité avec axe DevTools Mobile.
Pour les mises en page XML
class ExampleInstrumentedTestWithAccessibility : Utils {
@Rule
@JvmField
var rule: ActivityScenarioRule<MainActivity> = ActivityScenarioRule(MainActivity::class.java)
private val axe = AxeDevTools()
init {
//Login using an API Key
axe.loginWithApiKey(
"<API_KEY>"
)
}
@Before
fun setup() {
axe.tagScanAs(setOf("YourTag"))
axe.setTestingConfig(AxeDevToolsEspressoConfig(IdlingRegistry.getInstance()))
}
@Test
fun exampleTest() {
onView(withText("Your View Name")).perform(click())
onView(withText("Button")).perform(click())
onView(withContentDescription("Content Description")).perform(click())
}
@After
fun runAccessibilityScan() {
rule.scenario.onActivity {
val scan = axe.scan(it)
scan?.uploadToDashboard()
axe.tearDown()
}
}
}
Pour les mises en page Compose
@ExperimentalComposeUiApi
class ExampleComposeTest {
@get:Rule
val composeTestRule = createAndroidComposeRule<TestComposeActivity>()
private val axe = AxeDevToolsCompose()
init {
// Login using an API key
axe.loginWithApiKey(
"<API_KEY>"
)
}
@Before
fun setup() {
composeTestRule.setContent { YourComposableFunction() }
composeTestRule.mainClock.autoAdvance = false
composeTestRule.waitForIdle()
axe.tagScanAs(setOf("YourTag"))
}
@Test
fun foobar() {
// Must be set in the tests itself
axe.setComposeTestRule(composeTestRule)
val scan = axe.scan()
scan?.uploadToDashboard()
axe.tearDown()
}
}