Automatisch Scannen met de UIAutomator2 Driver

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard
Not for use with personal data

Overzicht

Automatisch scannen controleert continu je Android-app op toegankelijkheidsproblemen terwijl je tests worden uitgevoerd. In plaats van één scherm per keer te scannen, worden toegankelijkheidssnapshots vastgelegd bij elke UI-wijziging en allemaal aan het einde verwerkt.

tip

Als je meer gedetailleerde controle in je tests nodig hebt, zie Gericht Testen met Appium.

Hoe het werkt

  1. Start Automatisch Scannen aan het begin van je test
  2. Interageer met je app — elke schermwijziging wordt automatisch vastgelegd
  3. Stop automatisch scannen — resultaten worden verwerkt en naar je lokale machine gehaald

Resultaten worden opgeslagen in build/AxeDevToolsMobileResults/ in je projectdirectory.

Aan de slag

Start de Appium-server zoals gebruikelijk:

appium

Configureer Je Tests

Voeg vanuit je Appium-automatiseringsscripts de vereiste mogelijkheden toe voor Axe DevTools Mobile.

Naam Type Beschrijving
automationName String Stel in op 'AxeUiAutomator2' om de driver met ingebedde Axe DevTools Mobile te gebruiken voor toegankelijkheidsscans.
appPackage String De pakketnaam van de applicatie die wordt getest. Houd er rekening mee dat appPackage een onderdeel is van de UiAutomator2-driver; het kan al ingesteld zijn.

Automatisch Scannen Starten

Voordat je de testsuite start, start je Automatisch Scannen door de axeStartAutoScanSession API aan te roepen:

beforeAll(async () => { // Start auto scan 
await driver.executeScript('mobile: axeStartAutoScanSession', 
    [{ axeMobileApiKey: 'your-api-key',
    axeProjectId: 'your-devhub-project-id' 
    ... 
    }]); 
})

Automatisch Scannen Stoppen

Net voordat de testsuite eindigt, roep je de axeStopAutoScanSession API aan om Automatisch Scannen te stoppen en de resultaten te aggregeren en te uploaden.

await driver.executeScript('mobile: axeStopAutoScanSession', []);
note

De bovenstaande codefragmenten gebruiken JavaScript. Zie Codevoorbeelden van Automatisch Scannen met UIAutomator2 voor meer complete voorbeelden in meerdere programmeertalen.

Resultaten Interpreteren

Console Samenvatting

Zodra de testsuite is voltooid, vind je een samenvatting in het consolevenster waar de Appium-server draait.

---- Axe DevTools Mobile Accessibility Summary ----
Scan 1:
  Screen: Home Page
  Issues: 6
  Issues by rule:
    - TouchSizeWcag: 3
    - LabelAtFront: 1
    - LabelInName: 1
    - FocusableText: 1
    
Scan 35:
  Screen: Wikipedia Alpha
  Issues: 5
  Issues by rule:
    - LabelAtFront: 1
    - LabelInName: 1
    - TouchTargetSpacing: 1
    - TouchSizeWcag: 1
    - ColorContrast: 1
    
Total Scans: 35
❌ Total Issues: 123
---------------------------------------------------

Uitvoerbestanden

Wanneer de Automatisch Scannen-sessie stopt, wordt een HTML-rapport gegenereerd op build/AxeDevToolsMobileResults/. Het rapport bevat toegankelijkheidsschendingen, -goedkeuringen en aanbevelingen voor elk scherm dat tijdens de sessie is vastgelegd.

Ondersteuning van Automatisch Scannen

Regels

Automatisch Scannen voert de volledige Axe-regelset uit met uitzondering van ScreenOrientation en alle experimentele regels (bijv. NestedActiveControl, NestedElementName, InaccessibleAction). Vind gedetailleerde informatie over wat we controleren in de Regeloverzicht voor Android.

Ontwikkelaarsportaal

Auto Scan uploadt je resultaten automatisch naar Axe Ontwikkelaarsportaal. Als je de resultaten alleen lokaal wilt opslaan, stel dan axeUploadResults in op false.

Offline Modus

Als je geen cloud-credentials hebt, gebruik dan de offline-variant van de driver met een offline licentiesleutel. Installeer @axe-devtools/axe-appium3-uiautomator2-driver-offline en geef door axeOfflineLicenseKey bij het starten van de sessie.

Configuratiereferentie

Eigenschappen

Parameter Type Verplicht Beschrijving
axeUploadResults boolean Nee Upload resultaten naar Ontwikkelaarsportaal
axeMobileApiKey string Ja* Je Axe DevTools Mobile API-sleutel
axeProjectId string Nee Project-ID voor het organiseren van resultaten
axeOfflineLicenseKey string Ja* Licentiesleutel voor offline modus (alternatief voor cloud-credentials)
axeServerUrl string Nee Aangepaste Axe-server-URL (voor on-prem of private cloud)

*Geef **ofwel** cloud-credentials (axeMobileApiKey + axeProjectId + optioneel axeServerUrl) **of** een axeOfflineLicenseKey.

Animaties Uitschakelen

Krijg de meest nauwkeurige en uitgebreide resultaten van Auto Scan door animatie uit te schakelen. Dit zorgt ervoor dat schermen volledig zijn gerenderd wanneer ze worden vastgelegd. Als animaties niet zijn uitgeschakeld, merk je mogelijk:

  • Dubbele scans die je denkt te moeten zijn verwijderd
  • Scans met schermafbeeldingen die een overgangstoestand tonen
  • Een aanzienlijk lagere schermopnamesnelheid dan je zou verwachten

Voeg het volgende toe onder capabilities:

capabilities: {
    // ...existing capabilities
    'appium:disableWindowAnimation': true, // disables window animations
  }

Probleemoplossing

Als je geen scans ziet verschijnen in Ontwikkelaarsportaal, controleer dan je logboeken voor aanwijzingen over wat er mis kan zijn of doorloop deze checklist.

  • Zorg ervoor dat je de juiste variabele gebruikt voor je API/Licentiesleutel en Project-ID
  • Controleer de grootte van je uitvoerbestanden. De upload naar Ontwikkelaarsportaal mislukt als de grootte van een resultaatbestand groter is dan 20MB, hoewel alle resultaten nog steeds lokaal worden opgeslagen en getoond in het lokale HTML-rapport.

Wat is de volgende stap?

U kunt uw resultaten bekijken in de Axe Developer Hub. Leer hoe u de integratie van Axe DevTools Mobile in uw CI/CD-pipeline. Gebruikt u een cloudgebaseerd testplatform? U kunt Axe DevTools Mobile nog steeds gebruiken om toegankelijkheidsproblemen op te sporen. Zie Geautomatiseerd testen op cloudplatforms met Appium.