Scansione Automatica con il Driver XCUITest

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

Panoramica

La Scansione Automatica cattura automaticamente istantanee di accessibilità mentre navighi attraverso la tua app iOS. Anziché attivare manualmente le scansioni su ogni schermata, inizi una sessione di scansione automatica, interagisci con l'app e interrompi la sessione per generare un report.

tip

Se hai bisogno di un controllo più dettagliato nei tuoi test, vedi Test Mirati con Appium.

Come funziona

  1. Inizia una sessione di scansione automatica (con le tue credenziali)
  2. Naviga attraverso la tua app — le schermate vengono scansionate automaticamente
  3. Interrompi la sessione — un report HTML viene generato su ~/AxeDevToolsMobileResults/

Iniziare

Avvia il server Appium come di consueto:

appium

Configura i Tuoi Test

Dai tuoi script di automazione Appium, aggiungi le capacità richieste per Axe DevTools Mobile.

Nome Tipo Descrizione
automationName String Imposta su 'AxeXCUITest' per utilizzare il driver con axe DevTools Mobile integrato per eseguire scansioni di accessibilità.
bundleId String L'identificatore del pacchetto dell'app in test. Nota che bundleId è una parte del driver XCUITest; potresti averlo già impostato.

Avvia la Scansione Automatica

Prima di iniziare il tuo suite di test, avvia la Scansione Automatica chiamando l' axeStartAutoScanSession API:

beforeAll(async () => { // Start auto scan 
await driver.executeScript('mobile: axeStartAutoScanSession', [{ 
  axeMobileApiKey: 'your-api-key',
  axeProjectId: 'your-devhub-project-id',
  axeAccountURL: 'https://axe.deque.com',
  axeHtmlReportPath: './reports/accessibility' // optional (local dir; default 'build/AxeDevToolsMobileResults')
  ... 
  }]); 
})

Interrompi la Scansione Automatica

Poco prima che il suite di test termini, chiama l' axeStopAutoScanSession API per interrompere la Scansione Automatica e aggregare e caricare i risultati.

// Stop - the report is pulled to axeHtmlReportPath on the local machine
const result = await driver.executeScript('mobile: axeStopAutoScanSession');

// result.localDirectory -> local directory the report was saved into
note

Gli esempi di codice sopra usano JavaScript. Vedi Esempi di Codice per Scansione Automatica con XCUITest per esempi più completi in più linguaggi di programmazione.

Interpretazione dei Risultati

Sommario della console

Un sommario della console simile al seguente viene stampato quando il suite di test termina:

----  Axe DevTools Mobile Accessibility Summary ----
Scan 1:
  Screen: HomeScreen
  Issues: 3
  Issues by rule:
    - ColorContrast: 2
    - TouchTargetSize: 1

Scan 2:
  Screen: SettingsScreen
  Issues: 0

Total Scans: 2
❌ Total Issues: 3
----------------------------------------------------

Un'esecuzione pulita mostrerà Axe Clean - 0 Issues Found 🎉 nella console.

File di output

Quando la sessione di Scansione Automatica si interrompe, un report HTML viene generato su ~/AxeDevToolsMobileResults/. Il report contiene violazioni di accessibilità, successi e raccomandazioni per ogni schermata catturata durante la sessione.

Supporto per la Scansione Automatica

Regole

La Scansione Automatica esegue l'intero set di regole di Axe ad eccezione di ScreenOrientation, SupportsDynamicType, e tutte le regole sperimentali. Trova informazioni dettagliate su ciò che verifichiamo nella Panoramica delle Regole per iOS.

Developer Hub

Auto Scan carica automaticamente i tuoi risultati su Axe Developer Hub. Se desideri salvare i risultati solo localmente, imposta axeUploadResults su false.

Modalità Offline

Se non hai credenziali cloud, usa invece una chiave di licenza offline:

// JavaScript example
await driver.execute('mobile: axeStartAutoScanSession', {
  axeOfflineLicenseKey: 'YOUR_OFFLINE_LICENSE_KEY'
});

// ... navigate through the app ...

await driver.execute('mobile: axeStopAutoScanSession', {});

Riferimento di Configurazione

Proprietà

Parametro Tipo Obbligatorio Descrizione
axeUploadResults Booleano Facoltativo Carica i risultati sulla dashboard (default: true)
axeMobileApiKey Stringa Obbligatorio* Chiave API per scansione basata su cloud
axeProjectId Stringa Facoltativo ID progetto per organizzare i risultati
axeOfflineLicenseKey Stringa Obbligatorio* Chiave di licenza per modalità offline (alternativa alle credenziali cloud)
axeServerUrl (Deprecato) stringa URL backend personalizzato (es. axe.company.com), per cloud privato/on-prem solo
axeAccountURL stringa URL backend personalizzato (es. axe.company.com), per cloud privato/on-prem solo
axeHtmlReportPath stringa No Directory di output configurabile dall'utente per il report HTML e il sommario. Predefinito su ???

Fornisci o credenziali cloud (axeMobileApiKey + axeProjectId+ axeAccountURL) oppure un axeOfflineLicenseKey.

Best Practice

Disabilita Animazioni

Ottieni i risultati più accurati e completi da Auto Scan disabilitando le animazioni. Questo garantirà che le schermate siano completamente renderizzate quando catturate. Aggiungi quanto segue sotto capabilities:

  capabilities: {
    // ...existing capabilities
    'appium:reduceMotion': true, // enables iOS "Reduce Motion" accessibility setting
  }

Risoluzione dei Problemi

  • Vedi risultati localmente, ma non in Developer Hub? Il caricamento su Developer Hub fallisce se la dimensione di un file di risultati supera i 20MB, sebbene tutti i risultati siano comunque salvati localmente e visualizzati nel report HTML locale.
  • Controlla i log. Cerca nei AutoScan messaggi nella console.

Che Passa al Seguito?

Puoi visualizzare i tuoi risultati in Axe Developer Hub. Scopri come integrare Axe DevTools Mobile nella tua pipeline CI/CD. Usi una piattaforma di test basata su cloud? Puoi ancora utilizzare Axe DevTools Mobile per cercare problemi di accessibilità: Integrati con Piattaforme Cloud.