Recuperare i Risultati di Axe Watcher con axe-watcher-results

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

Utilizza axe-watcher-results per estrarre i risultati di una scansione completata di Axe Watcher in una pipeline CI e bloccare la build in base alla tua soglia di accessibilità

Not for use with personal data

axe-watcher-results recupera i risultati di una scansione completata di Axe Watcher da Axe Developer Hub e li trasforma in un segnale di successo/fallimento per una pipeline CI.

note

axe-watcher-results non esegue le scansioni di accessibilità. Axe Watcher esegue quelle come parte della tua suite di test. Recupera solo i risultati dopo che una scansione è terminata, quindi eseguilo come un passaggio separato e successivo nella tua pipeline. Vedi Utilizza Axe Watcher negli Ambienti di Integrazione Continua (CI) per il comportamento di Axe Watcher stesso in CI.

Prerequisiti

Prima di eseguire axe-watcher-results, hai bisogno di:

  • Un Chiave API di Axe Developer Hub (un UUID).
  • L'ID progetto per il progetto Axe Developer Hub a cui è stata inviata la scansione (un UUID).
  • Una scansione di Axe Watcher completata per il commit che desideri controllare.

Installare

axe-watcher-results è distribuito come un binario auto-contenuto per Linux, macOS e Windows. Scarica il binario per la tua piattaforma dalla pagina Download (l'accesso richiede un abbonamento a axe DevTools for Web), poi segui Preparazione dei Binari dopo il Download per renderlo eseguibile e, su macOS, per eliminare l'attributo di quarantena.

note

I binari per macOS e Windows non sono firmati digitalmente e possono essere bloccati dai controlli di sicurezza del tuo sistema operativo fino a quando non ne autorizzi l'esecuzione.

Posiziona il binario sul tuo PATH (o riferimento tramite percorso) così da poterlo eseguire come axe-watcher-results.

Autenticazione

axe-watcher-results legge la tua chiave API di Axe Developer Hub dalla variabile di ambiente AXE_DEVHUB_API_KEY. Impostala una volta prima di eseguire qualsiasi comando — nel tuo terminale per uso locale, o nel negozio segreto del tuo sistema CI per una pipeline:

export AXE_DEVHUB_API_KEY=<your-api-key>

Gli esempi sotto assumono che questa variabile sia impostata.

Consulta i Risultati per un Commit (CI Gating)

Esegui axe-watcher-results sessions get con il tuo ID progetto e un SHA di commit Git:

axe-watcher-results sessions get <project-id> <commit-sha>
  • <project-id>: l'UUID del progetto.
  • <commit-sha>: un SHA di commit Git di 7-40 caratteri che ha già una scansione di Axe Watcher completata.

Questa è la ricerca che blocca una build: se il numero di problemi dell'esecuzione supera la soglia di accessibilità del tuo progetto, axe-watcher-results termina con il codice 10 (vedi Codici di Uscita). Ad esempio, con --format=json:

{
  "project": "your-project-name",
  "project-id": "7347af86-ff4e-4e14-8957-8fc2255ed4ec",
  "commit-sha": "e220798b6558cdfc7c3e592378be67e1e78e7377",
  "run-url": "https://axe.deque.com/axe-watcher/projects/7347af86-ff4e-4e14-8957-8fc2255ed4ec/branches/main/compare/0d4a85a2-9e6f-44ef-b814-fee8412abeb0/0d4a85a2-9e6f-44ef-b814-fee8412abeb0?settings_hash=0757ca72c5e10951ddbb2ede4edab06e&issues_over_a11y_threshold=2",
  "issues": 17,
  "new-issues": 17,
  "resolved-issues": 0,
  "issues-over-a11y-threshold": 2,
  "page-states": 2,
  "difference-in-page-states": 0,
  "created-at": "2026-07-07T18:13:00.641Z",
  "message": "Run exceeded the a11y threshold by 2."
}
Campo Descrizione
project Nome del progetto.
project-id UUID del progetto.
commit-sha Lo SHA del commit che hai consultato.
run-url Collegamento all'esecuzione in Axe Developer Hub.
issues Conteggio totale dei problemi per l'esecuzione.
new-issues Problemi non presenti nella baseline di confronto.
resolved-issues Problemi presenti nella baseline ma non in questa esecuzione.
issues-over-a11y-threshold Numero di problemi superiori alla soglia di accessibilità del tuo progetto; questo è ciò che determina il codice di uscita 10.
page-states Numero di stati delle pagine scansionati.
difference-in-page-states Variazione nel numero di stati delle pagine rispetto alla baseline.
created-at Timestamp in cui è stata registrata l'esecuzione.
message Presente solo quando la soglia è stata superata.

Se analizzi l'output in uno script, utilizza --format=json: i nomi dei campi sopra sono stabili. L'output predefinito --format=text è destinato agli umani che leggono i log delle build, non per l'analisi.

Consulta i Risultati per una Sessione

Puoi anche consultare una scansione specifica tramite il suo ID sessione invece di uno SHA di commit:

axe-watcher-results sessions get <project-id> <session-id>

<session-id> è un UUID di sessione. axe-watcher-results distingue un ID sessione da uno SHA di commit dalla sua forma (un UUID rispetto a una stringa esadecimale di 7-40 caratteri), quindi lo passi nella stessa posizione. L'argomento <project-id> è comunque richiesto e validato, anche se una ricerca di sessione risolve il suo progetto dalla sessione e dalla chiave API piuttosto che dall'argomento.

Utilizza --detail=summary (l'impostazione predefinita) per i conteggi dei problemi per gravità e regole, o --detail=full per ottenere il documento completo del risultato come JSON grezzo (questo ignora --format).

--format=json --detail=summary appare così:

{
  "report_id": "14c16b50-a6ce-46ab-9974-0ad3b94eafde",
  "source": {
    "product_name": "axe-devtools-html",
    "product_component_name": "axe-devtools-watcher",
    "product_version": "4.0.0"
  },
  "test_details": {
    "test_id": "0d4a85a2-9e6f-44ef-b814-fee8412abeb0",
    "start_date": "2026-07-07T18:13:00.641Z",
    "end_date": "2026-07-07T18:13:05.472Z"
  },
  "commit": {
    "sha": "e220798b6558cdfc7c3e592378be67e1e78e7377",
    "author": "Jane Doe",
    "author_email": "jane@example.com",
    "message": "fix: correct login form labels",
    "branch_name": "main",
    "tag": "",
    "repository_url": "https://github.com/your-org/your-repo"
  },
  "devhub_summary": {
    "issue_count_total": 17,
    "issue_count_by_impact": {
      "critical": 0,
      "serious": 2,
      "moderate": 15,
      "minor": 0
    },
    "issue_count_by_rule": [
      {
        "severity": "serious",
        "rule_id": "color-contrast",
        "rule_help": "Elements must meet minimum color contrast ratio thresholds",
        "rule_help_url": "https://dequeuniversity.com/rules/axe/4.11/color-contrast?application=axeAPI",
        "count": 2
      }
    ]
  }
}
Campo Descrizione
report_id ID univoco per questo rapporto sui risultati.
source Il prodotto e la versione di Axe Watcher che hanno prodotto la scansione.
test_details.test_id L'ID sessione che hai cercato.
test_details.start_date / end_date Quando è stata eseguita la scansione.
commit Metadati del commit Git, quando disponibili; altrimenti omessi.
devhub_summary.issue_count_total Conteggio totale dei problemi per la sessione.
devhub_summary.issue_count_by_impact Conteggi dei problemi suddivisi per critical, serious, moderate e minor.
devhub_summary.issue_count_by_rule Una voce per ogni regola violata, con severità, un URL di aiuto e un conteggio.
important

Una ricerca sessione non verifica la soglia di accessibilità e non esce mai con il codice 10. Utilizza una ricerca commit-SHA, non una ricerca ID sessione, per bloccare una build CI.

Se la scansione è ancora in elaborazione, axe-watcher-results interroga il server (fino a 5 minuti) e scrive i progressi su stderr; se la scansione non termina in tempo, esce con il codice 11.

Elenca le sessioni per un progetto

Il sottocomando sessions list elenca le sessioni di scansione registrate di un progetto, utile per trovare un ID sessione da cercare:

axe-watcher-results sessions list <project-id>

Filtra i risultati con --git-branch, --commit-sha, --git-url, --created-after/--created-before (timestamp ISO-8601), --created-by-user-email e --is-canonical-source. Utilizza --page-size (1-100) e --after per sfogliare i risultati. sessions list accetta anche --format, --network-timeout-seconds e --verbose/-v, che si comportano allo stesso modo di sessions get.

Opzioni

Queste opzioni si applicano al comando sessions get (ricerche commit-SHA e ID sessione):

Opzione Variabile di ambiente Predefinito Descrizione
--format=text|json text Formato di output.
--detail=summary|full summary Dettaglio del risultato per le ricerche ID sessione. Ignorato per le ricerche commit-SHA.
--network-timeout-seconds=<n> AXE_WATCHER_RESULTS_NETWORK_TIMEOUT_SECONDS 30 Timeout HTTP per richiesta, in secondi.
AXE_SERVER_URL https://axe.deque.com Sostituisci l'URL del server dell'Axe Developer Hub. Vedi Specifica l'URL del Server dell'Axe Developer Hub se la tua organizzazione utilizza un server regionale, cloud privato o on-premises.
--verbose, -v Registra l'URL della richiesta e lo stato di risposta su stderr.

--version (sul comando radice axe-watcher-results) stampa la versione axe-watcher-results ed esce; --help è disponibile su ogni comando.

L'output va a stdout come testo pulito o JSON; i messaggi di progresso e errore vanno a stderr, quindi puoi catturare stdout per i log di build senza analisi extra.

Esempio di blocco CI

Esegui axe-watcher-results come passaggio dopo che la tua scansione di Axe Watcher è completata, utilizzando un commit SHA in modo che il codice di uscita rifletta la soglia di accessibilità:

# AXE_DEVHUB_API_KEY is provided by your CI system's secret store
axe-watcher-results sessions get --format=json "$PROJECT_ID" "$GIT_COMMIT_SHA"

Un'uscita non-zero interrompe il passaggio chiamante. Vedi Codici di uscita per cosa significa ogni codice e come rispondervi.

tip

Se stai integrando specificamente con GitHub Actions, Axe Developer Hub GitHub Action fornisce un comportamento di blocco simile senza richiedere un binario separato. Usa axe-watcher-results quando hai bisogno di un blocco agnostico per il provider per GitLab CI, CircleCI, Jenkins o un altro sistema CI.

Codici di uscita

Codice Significato
0 Successo.
1 Errore generale (ad esempio, un errore nella scrittura dell'output).
2 Un argomento o una variabile di ambiente necessaria è mancante.
3 Il formato o il valore di un argomento non è valido.
9 Hub dell'Axe Developer ha restituito un errore.
10 La soglia di accessibilità è stata superata (solo ricerche commit-SHA).
11 Tempo scaduto per il polling della sessione.
12 Non sono disponibili dati di confronto per questo commit.

Recupero dall'uscita 12

Uscita 12 significa che il commit ha risultati di scansione, ma Axe Developer Hub non ha nulla con cui confrontarli. Axe Developer Hub seleziona una baseline in questo ordine:

  1. Una sessione precedente sullo stesso commit SHA.
  2. La sessione più recente su un altro SHA dello stesso branch.
  3. La sessione attuale stessa, ma solo se la sessione è canonica (vedi Usa Axe Watcher in ambienti di Continuous Integration (CI)).

Se nessuna di queste è disponibile e la sessione non è canonica, Axe Developer Hub restituisce un 404 e axe-watcher-results esce con il codice 12. Per recuperare:

  • Rieseguire la scansione di Axe Watcher con CI=true impostato, in modo che la sessione diventi canonica e si confronti autonomamente in un avvio a freddo.
  • Eseguire una scansione aggiuntiva, su questo commit o su un commit precedente dello stesso branch, per stabilire una baseline.