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ù granulare nei tuoi test, consulta 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 — viene generato un report HTML presso ~/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 bundle dell'applicazione in test. Nota che bundleId è parte integrante del driver XCUITest; potresti averlo già impostato.

Avvia la Scansione Automatica

Prima di avviare il tuo set di test, avvia Auto Scan chiamando l'API axeStartAutoScanSession:

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

Appena prima che il set di test finisca, chiama l'API axeStopAutoScanSession per fermare Auto Scan 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

I frammenti di codice sopra utilizzano 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 Auto Scan si ferma, viene generato un report HTML presso ~/AxeDevToolsMobileResults/. Il report contiene violazioni dell'accessibilità, successi e raccomandazioni per ogni schermata catturata durante la sessione.

Supporto per la Scansione Automatica

Regole

Auto Scan esegue l'intero set di regole Axe con l'eccezione di ScreenOrientation, SupportsDynamicType e tutte le regole sperimentali. Trova informazioni dettagliate su cosa controlliamo in Panoramica delle Regole per iOS.

Developer Hub

Auto Scan carica automaticamente i tuoi risultati su Axe Developer Hub. Se vuoi solo salvare i risultati 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 risultati sul dashboard (predefinito: 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 back-end personalizzato (ad esempio axe.company.com), solo per cloud privato/on-prem
axeAccountURL stringa URL back-end personalizzato (ad esempio axe.company.com), solo per cloud privato/on-prem
axeHtmlReportPath stringa No Directory di output configurabile dall'utente per report HTML e sommario. Valore predefinito: ???

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

Best Practice

Disabilita Animazioni

Ottieni i risultati più accurati e completi da Auto Scan disabilitando l'animazione. 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 qualsiasi file di risultati supera i 20MB, ma tutti i risultati vengono comunque salvati localmente e mostrati nel report HTML locale.
  • Controlla i log. Cerca messaggi AutoScan 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. Utilizzando una piattaforma di test basata su cloud? Puoi ancora utilizzare Axe DevTools Mobile per cercare problemi di accessibilità: Integrati con Piattaforme Cloud.