Configurazione di Axe DevTools per Web CLI

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

Imposta browser, timeout, dimensioni finestra e altri valori predefiniti persistenti per Axe DevTools per Web CLI.

Not for use with personal data

Le flag descritte in questo articolo sono disponibili per axe <url>, axe spec e axe bulk-spec. Quando imposti una di queste flag, il valore viene salvato nel file delle preferenze e diventa il predefinito per tutte le esecuzioni successive. Per visualizzare o modificare le preferenze in modo interattivo, incluso il reset dei valori che non hanno una flag corrispondente, usa axe config-selenium.

Opzioni del Browser

--accept-untrusted

Istruisce il browser ad accettare certificati SSL non affidabili. Usalo quando testi pagine su server di sviluppo locali o ambienti interni che utilizzano certificati auto-firmati. Passare questa flag salva acceptUntrustedCertificates: true nel file delle preferenze. Per reimpostarlo su false, esegui axe config-selenium e rispondi a No quando richiesto, oppure modifica direttamente il file delle preferenze.

axe <url> --accept-untrusted

--browser <name>

Specifica quale browser utilizzare. Il WebDriver corrispondente deve essere installato e disponibile sul tuo $PATH. I valori validi sono: firefox (predefinito), chrome, safari, edge, ie.

axe <url> --browser chrome

Se ricevi un errore di avvio del browser al primo tentativo, GeckoDriver (il WebDriver di Firefox) potrebbe non essere installato. Prova con --browser chrome, che di solito funziona senza configurazioni aggiuntive su molti sistemi.

Passare questa flag salva il nome del browser nel file delle preferenze. Tutte le esecuzioni successive, comprese quelle senza --browser, utilizzeranno il browser salvato. Per cambiare il browser salvato, esegui axe config-selenium e scegli un browser diverso al prompt, oppure modifica direttamente file delle preferenze.

--headless

Avvia il browser in modalità headless (senza finestra visibile). Il predefinito è false.

axe <url> --headless

--remote-server <url>

Si connette a un server WebDriver remoto invece di avviare un browser locale. Il server deve esporre un endpoint compatibile con W3C WebDriver, come un Selenium Grid, BrowserStack o un remoto Sauce Labs.

axe <url> --remote-server https://hub.browserstack.com/wd/hub

--window-size <width,height>

Imposta la dimensione della finestra del browser in pixel. Questo controlla anche la dimensione del viewport in modalità headless, rendendolo utile per testare layout responsive.

axe <url> --window-size 1280,900

Opzioni di Temporizzazione

--page-timeout <ms>

Tempo massimo in millisecondi (ms) per attendere il caricamento di una pagina prima di fallire. Il predefinito è 60.000 ms (60 secondi). Aumenta questo valore per pagine a caricamento lento o ambienti di rete con alta latenza.

axe <url> --page-timeout 120000

--post-analyze-pause <ms>

Tempo in millisecondi per attendere dopo aver completato un'analisi prima di passare alla prossima azione in un flusso di lavoro. Il predefinito è 2.000 ms (2 secondi).

axe spec workflow.yml --post-analyze-pause 5000

--post-get-pause <ms>

Tempo in millisecondi per attendere dopo il caricamento di una pagina e prima di iniziare la scansione. Il predefinito è 2.000 ms (2 secondi). Aumenta questo valore se il contenuto dinamico necessita di più tempo per essere renderizzato prima che inizi la scansione.

axe <url> --post-get-pause 5000

--post-script-pause <ms>

Tempo in millisecondi per attendere dopo aver eseguito un'azione di script del flusso di lavoro e prima di continuare con l'azione successiva. Il predefinito è 2.000 ms (2 secondi).

axe spec workflow.yml --post-script-pause 5000

--script-timeout <ms>

Tempo massimo in millisecondi per attendere il completamento dell'esecuzione di uno script del flusso di lavoro. Il predefinito è 60.000 ms (60 secondi).

axe spec workflow.yml --script-timeout 120000

Tracciamento dell'Uso

Axe DevTools CLI include il @deque/metrics-library, che invia dati di utilizzo anonimi a Deque. Questi dati includono informazioni aggregate come il conteggio delle violazioni, il conteggio delle regole e la versione del motore axe-core. Non include URL, contenuto delle pagine o alcuna informazione personale identificabile.

Un ID distintivo è un valore memorizzato nel file delle preferenze utilizzato per correlare eventi su più esecuzioni CLI senza identificare l'utente. Puoi modificare o disabilitare il tracciamento con le opzioni seguenti. Per impostare questi valori senza utilizzare la CLI, usa variabili ambientali del servizio di utilizzo.

--enable-tracking <state>

Abilita o disabilita l'invio dei dati di utilizzo alla libreria delle metriche. Il tracciamento è abilitato per impostazione predefinita; passa false per disabilitarlo. La variabile d'ambiente corrispondente è AXE_TRACK_USAGE — vedi Variabili ambientali del servizio di utilizzo.

axe <url> --enable-tracking false

--set-distinct-id <id>

Cambia l'ID distintivo utilizzato per correlare gli eventi di utilizzo. L'ID è memorizzato nel file delle preferenze e usato tra le esecuzioni. La variabile ambientale corrispondente è AXE_DISTINCT_ID — vedi Variabili ambientali del servizio di utilizzo.

axe <url> --set-distinct-id my-team-id

--set-tracking-url <url>

Cambia l'endpoint dove vengono inviati i metriche di utilizzo. Usalo se la tua organizzazione instrada la telemetria tramite un proxy interno. La variabile ambientale corrispondente è AXE_METRICS_URL — vedi Variabili ambientali del servizio di utilizzo.

axe <url> --set-tracking-url https://metrics.example.com/collect

Variabili ambientali del servizio di utilizzo

Oltre alle flag CLI, puoi configurare il servizio di utilizzo e impostare proprietà sugli eventi segnalati usando variabili ambientali. La colonna Può sovrascrivere indica se il valore della variabile ambientale può sovrascrivere un valore già impostato programmaticamente tramite la libreria di metriche. Un trattino (—) indica che il concetto non si applica a quella variabile.

Nome Tipo Può Sovrascrivere Descrizione
AXE_DISTINCT_ID Stringa Un identificatore UUID che rimane lo stesso per l'utente connesso (a meno che non venga rigenerato). In Ruby, questa variabile è denominata DEQUE_DISTINCT_ID.
AXE_INCLUDE_TEST_RESULTS Booleano Imposta su true per includere i risultati completi di axe-core nell'oggetto testResults di ogni evento (predefinito è false). Supportato solo dalla CLI e dalle API di Node.js.
AXE_METRICS_URL Stringa L'URL dell'endpoint di utilizzo REST (predefinito è https://usage.deque.com)
AXE_TRACK_USAGE Booleano Imposta su false per disabilitare il servizio di reporting sull'utilizzo. Il reporting è abilitato per impostazione predefinita.
AXE_APPLICATION Stringa falso L'applicazione utilizzata per controllare gli errori di accessibilità
AXE_DEV_INSTANCE Booleano vero Indica se questo evento è dovuto ad azioni di uno sviluppatore software. Utile per marcare e successivamente rimuovere eventi registrati durante lo sviluppo o i test.
AXE_DEPARTMENT Stringa vero Il dipartimento utente all'interno dell'organizzazione
AXE_KEYCLOAK_ID Stringa falso L'ID Keycloak dell'utente
AXE_LOGGED_IN Booleano falso Registra se l'utente è connesso all'applicazione in test
AXE_ORGANIZATION Stringa vero L'organizzazione dell'utente. Per fare sì che il tuo utilizzo appaia nei Rapporti Axe, imposta questo valore sull'ID della tua organizzazione (contatta Deque per ottenerlo).
AXE_SESSION_ID Stringa falso Un UUID che identifica la sessione dell'utente
AXE_USER_ID Stringa falso L'identità di un utente specifico come un indirizzo email, un nome o un ID di accesso. I Rapporti Axe contano gli utenti unici a partire da questo valore.
AXE_USER_JOB_ROLE Stringa falso Il ruolo lavorativo dell'utente
AXE_USER_STATUS Stringa falso Informazioni sullo stato che si desidera associare all'utente

Proxy di Rete

Le richieste in uscita del CLI rispettano le variabili di ambiente standard del proxy. Queste richieste sono caricamenti su Axe Reports, caricamenti su Axe Developer Hub e telemetria d'uso.

export HTTPS_PROXY=http://proxy.corp.example.com:3128
export HTTP_PROXY=http://proxy.corp.example.com:3128
export NO_PROXY=internal.example.com,.internal.example.net

Se imposti solo HTTP_PROXY, il CLI la utilizza anche per le richieste https:, quindi un singolo proxy necessita solo di quella variabile.

Queste variabili governano solo le richieste del CLI. Non effettuano il proxy dei caricamenti delle pagine del browser durante l'esecuzione di una scansione. Per instradare il traffico del browser attraverso un proxy, utilizza invece --remote-proxy.

Esclusione degli Host dal Proxy

NO_PROXY accetta una lista di nomi host separati da virgola o spazio, ciascuno con un':port opzionale. Un nome può essere esatto (internal.example.com), o un suffisso scritto come .example.net o *.example.net, il che esclude quel dominio e tutto ciò che vi è sotto. Impostare NO_PROXY su * disabilita completamente il proxy.

Le voci che non rispettano questa sintassi vengono ignorate senza segnalazione di errori, per cui vale la pena conoscere due limiti:

  • Gli intervalli CIDR non sono supportati. NO_PROXY=10.0.0.0/8 non corrisponde mai a nulla, e il traffico verso quegli indirizzi viene comunque inviato al proxy.
  • Gli indirizzi loopback non sono esclusi per impostazione predefinita. Per raggiungere un collezionatore o un host di rapporti auto-gestito sulla macchina locale, nominarlo esplicitamente, come in NO_PROXY=localhost,127.0.0.1.

Proxy che Intercettano TLS

Se il tuo proxy termina TLS con un'autorità di certificazione privata, punta Node.js a quel bundle di autorità di certificazione:

export NODE_EXTRA_CA_CERTS=/etc/ssl/certs/corp-ca.pem

Senza di esso, il CLI si arresta con un errore di verifica del certificato.

warning

Non impostare NODE_TLS_REJECT_UNAUTHORIZED su 0 per aggirare un errore di verifica del certificato. Disabilita la verifica dei certificati per l'intero processo.

axe config-selenium

Usa axe config-selenium per configurare i predefiniti in modo interattivo. Ti verrà chiesto di inserire valori per browser, timeout e altre impostazioni. Le tue risposte vengono salvate nel file delle preferenze e diventano le predefinite per tutte le esecuzioni CLI successive.

$ axe config-selenium
? Choose browser for running automated tests: (Use arrow keys)
? Choose browser for running automated tests: chrome
? Enter a value for pageLoadTimeout: 60000
? Enter a value for setScriptTimeout: 60000
? Accept untrusted ssl certs: Yes
? Enter a value for postGetPause: 2000
? Enter a value for postScriptPause: 2000
? Enter a value for postAnalysisPause: 2000
? Launch browser in headless mode: No

Results saved to ~/.config/preferences/com.deque.axe.devtools.cli.pref

Per visualizzare le impostazioni salvate correnti senza entrare nel prompt interattivo, usa il flag --show:

axe config-selenium --show

File delle Preferenze

Tutti i valori predefiniti configurabili sono memorizzati in un file JSON in:

~/.config/preferences/com.deque.axe.devtools.cli.pref

Un file tipico appare così:

{
  "selenium": {
    "acceptUntrustedCertificates": false,
    "browser": "firefox",
    "headless": false,
    "pageLoadTimeout": 60000,
    "postAnalysisPause": 2000,
    "postGetPause": 2000,
    "postScriptPause": 2000,
    "setScriptTimeout": 60000
  }
}

Puoi modificare direttamente questo file come alternativa all'uso di axe config-selenium o al passaggio di flag sulla riga di comando. Questo è utile per reimpostare i valori booleani come acceptUntrustedCertificates senza eseguire il prompt interattivo.