Riferimento API per Selenium

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

Riferimento API per AxeSelenium, AxeConfiguration e le classi correlate di selettori, report e risultati in Axe DevTools per Web Java

Not for use with personal data

Questo documento è un riferimento per le classi AxeSelenium e AxeConfiguration, e per i tipi di selettori, report e risultati che usano. La classe AxeSelenium dovrebbe coprire la maggior parte dei casi d'uso, e AxeConfiguration dovrebbe coprire il resto.

Gli esempi in questa pagina assumono che webDriver sia il tuo Selenium WebDriver e che driver sia un AxeDriver che lo avvolge.

com.deque.html.axedevtools.selenium.AxeSelenium

Configura una scansione dell'accessibilità e la esegue. Ogni metodo di configurazione restituisce la stessa istanza AxeSelenium, permettendo di concatenare le chiamate, e run(AxeDriver) esegue la scansione.

Results results = new AxeSelenium()
    .include(".my-css-class")
    .skipping("aria-required-parent")
    .run(driver);

AxeSelenium()

Crea una scansione AxeSelenium che utilizza le impostazioni globali AxeConfiguration, come il set di regole, la suite di audit e la directory di output dei report. Utilizza questo costruttore a meno che tu non abbia bisogno di personalizzare l'AxeBuilder sottostante.

public AxeSelenium();

Esempio

Results results = new AxeSelenium().run(driver);

AxeSelenium(AxeBuilder)

Crea una scansione AxeSelenium che esegue il AxeBuilder fornito, dall'integrazione Chromium Selenium (com.deque.html.axecore.selenium.AxeBuilder). Usalo per raggiungere opzioni AxeBuilder non esposte da AxeSelenium, come la modalità legacy. Le impostazioni globali AxeConfiguration si applicano comunque.

public AxeSelenium(AxeBuilder axeBuilder);

Parametri

Nome Tipo Descrizione
axeBuilder AxeBuilder Il builder usato per iniettare axe-core nella pagina ed eseguirlo.

Esempio

import com.deque.html.axecore.selenium.AxeBuilder;

Results results = new AxeSelenium(new AxeBuilder().setLegacyMode())
    .run(driver);

run(AxeDriver)

Scansiona la pagina che page mostra attualmente, utilizzando ogni opzione configurata su questo AxeSelenium, e restituisce i risultati. Violazioni ignorate (vedi AxeSelenium.ignoring(String, String)) sono rimosse dai risultati, e, se logResults è stato chiamato, i file di report sono scritti prima che run ritorni.

Se axe-core riporta un errore durante la scansione, run lo lancia invece di restituire risultati.

public Results run(AxeDriver page);

Parametri

Nome Tipo Descrizione
page AxeDriver La pagina da scansionare.

Restituzioni

Un oggetto Results (com.deque.html.axecore.results.Results) che contiene le violazioni, i passaggi, i risultati incompleti e quelli non applicabili.

Eccezioni

  • AxeRuntimeException (com.deque.html.axecore.results.AxeRuntimeException) quando axe-core restituisce un errore invece di risultati.
  • RuntimeException quando la scansione fallisce, per esempio quando axe.finishRun fallisce o il driver non può cambiare tra finestre.

Esempio

webDriver.get("https://example.com");
Results results = new AxeSelenium().run(driver);

if (!results.violationFree()) {
    System.out.println(results.getViolations().size() + " rules have violations");
}

runCommand()

Restituisce lo script generico axe.run che AxeSelenium esegue nel browser in modalità legacy. Lo script non include il contesto o le opzioni di questa scansione, e con axe-core 4.3 o versioni successive (la modalità predefinita, non legacy) le scansioni vengono eseguite attraverso un diverso set di chiamate. AxeSelenium passa questo script al reporter, quindi è principalmente utile quando costruisci il tuo testo di report con AxeDevtoolsReporter.generateReport.

public String runCommand();

Restituzioni

Lo script, come un String.

include(String)

Limita la scansione agli elementi corrispondenti a un selettore CSS, e ai loro discendenti. Ogni chiamata aggiunge un'altra area alla scansione, quindi per testare diverse parti non correlate della pagina, chiama include una volta per ciascuna. Un selettore separato da virgole (".sidebar, .some-class") funziona anche, perché viene passato al browser così com'è.

public AxeSelenium include(String cssSelector);

Parametri

Nome Tipo Descrizione
cssSelector String Qualsiasi selettore CSS valido.

Restituzioni

Questo AxeSelenium, per concatenazione dei metodi.

Esempio

// Test .sidebar and .some-class, which are both in the top-level document
Results results = new AxeSelenium()
    .include(".sidebar")
    .include(".some-class")
    .run(driver);

include(List\<String>)

Limita la scansione a un elemento all'interno di uno o più iFrame nidificati. Ogni stringa tranne l'ultima corrisponde a un livello di nidificazione degli iFrame; l'ultima corrisponde all'elemento da testare all'interno dell'iFrame più interno. L'elenco descrive un percorso, non diversi selettori.

Poiché non esiste un sovraccarico di include(String...), passare più di una stringa a include produce anche un singolo selettore iFrame anziché inclusioni separate: include("#parent-iframe", "#html") si risolve in include(Object...) e significa la stessa cosa dell'esempio qui sotto.

include(FromFrames) esprime la stessa cosa in modo più esplicito ed è la forma raccomandata per nuovi test.

public AxeSelenium include(List<String> selector);

Parametri

Nome Tipo Descrizione
selector List\<String> Un selettore CSS per livello di nidificazione degli iFrame, seguito da un selettore CSS per l'elemento all'interno dell'iFrame più interno.

Restituzioni

Questo AxeSelenium, per concatenazione dei metodi.

Esempio

// Test #html inside the iframe matched by #parent-iframe
Results results = new AxeSelenium()
    .include(Arrays.asList("#parent-iframe", "#html"))
    .run(driver);

include(FromFrames)

Limita la scansione a un elemento all'interno di uno o più iFrame nidificati, usando un selettore FromFrames esplicito.

public AxeSelenium include(FromFrames fromFrames);

Parametri

Nome Tipo Descrizione
fromFrames FromFrames Ogni selettore tranne l'ultimo corrisponde a un livello di nidificazione degli iFrame; l'ultimo corrisponde all'elemento da testare all'interno dell'iFrame più interno.

Restituzioni

Questo AxeSelenium, per concatenazione dei metodi.

Esempio

// Test the form inside the #payment-frame iframe
Results results = new AxeSelenium()
    .include(new FromFrames("#payment-frame", "form"))
    .run(driver);

include(FromShadowDom)

Limita la scansione a un elemento all'interno di uno o più shadow DOM nidificati, utilizzando un selettore FromShadowDom esplicito.

public AxeSelenium include(FromShadowDom fromShadowDom);

Parametri

Nome Tipo Descrizione
fromShadowDom FromShadowDom Ogni selettore tranne l'ultimo corrisponde a un host ombra; l'ultimo corrisponde all'elemento da testare all'interno della shadow root più interna.

Restituzioni

Questo AxeSelenium, per concatenazione dei metodi.

Esempio

// Test the #search form inside the shadow root attached to .app-header
Results results = new AxeSelenium()
    .include(new FromShadowDom(".app-header", "form#search"))
    .run(driver);

include(Object)

Limita la scansione usando un selettore fornito come un unico oggetto. Java seleziona questo overload solo quando il tipo statico dell'argomento non è uno dei tipi sopra, come una variabile dichiarata come Object. Preferisci gli overload tipizzati.

public AxeSelenium include(Object selector);

Parametri

Nome Tipo Descrizione
selector Object Una stringa di selettore CSS, una lista di stringhe, un selettore FromFrames, o un selettore FromShadowDom.

Restituzioni

Questo AxeSelenium, per concatenazione dei metodi.

Esempio

// The selector's type is chosen at runtime, so it's held as Object
Object scope = useFrame ? new FromFrames("#frame", "main") : "main";
Results results = new AxeSelenium()
    .include(scope)
    .run(driver);

include(Object...)

Limita la scansione usando un selettore che mescola selettori CSS semplici con selettori FromFrames o FromShadowDom, per casi che gli altri overload non possono esprimere. Tutti gli argomenti insieme formano un unico percorso verso un elemento; non sono esclusioni separate.

Questo sovraccarico viene selezionato ogni volta che la chiamata passa più di un argomento. Passare un singolo selettore FromFrames o FromShadowDom seleziona invece include(FromFrames) o include(FromShadowDom).

Per raggiungere un iFrame che vive all'interno di una shadow root, nidifica il selettore FromShadowDom all'interno del selettore FromFrames. L'inverso non può essere espresso, perché FromShadowDom accetta solo stringhe.

public AxeSelenium include(Object... selector);

Parametri

Nome Tipo Descrizione
selector Object... Un insieme misto di selettori CSS e oggetti selettore che formano un unico percorso verso l'elemento da testare.

Restituzioni

Questo AxeSelenium, per concatenazione dei metodi.

Esempio

// Test .target inside the shadow root attached to #host, inside the #frame iframe
Results results = new AxeSelenium()
    .include("#frame", new FromShadowDom("#host", ".target"))
    .run(driver);

exclude(String)

Rimuove gli elementi che corrispondono a un selettore CSS, e ai loro discendenti, dalla scansione. Ogni chiamata rimuove un'altra area, quindi per saltare diverse parti non correlate della pagina, chiama exclude una volta per ciascuna. Le esclusioni si applicano in aggiunta a eventuali chiamate include, permettendoti di testare una regione eccetto una parte di essa.

public AxeSelenium exclude(String cssSelector);

Parametri

Nome Tipo Descrizione
cssSelector String Qualsiasi selettore CSS valido.

Restituzioni

Questo AxeSelenium, per concatenazione dei metodi.

Esempio

// Test main, but skip the .cookie-banner and .ad-slot inside it
Results results = new AxeSelenium()
    .include("main")
    .exclude(".cookie-banner")
    .exclude(".ad-slot")
    .run(driver);

exclude(List\<String>)

Rimuove un elemento all'interno di uno o più iFrame nidificati dalla scansione. Ogni stringa tranne l'ultima corrisponde a un livello di nidificazione degli iFrame; l'ultima corrisponde all'elemento da escludere all'interno dell'iFrame più interno. L'elenco descrive un percorso, non diversi selettori.

Poiché non esiste un sovraccarico di exclude(String...), passare più di una stringa a exclude produce anche un singolo selettore iFrame anziché esclusioni separate: exclude(".iframe1", ".third-party-ad") si risolve in exclude(Object...) e significa la stessa cosa dell'esempio qui sotto.

exclude(FromFrames) esprime la stessa cosa in modo più esplicito ed è la forma raccomandata per nuovi test.

public AxeSelenium exclude(List<String> selector);

Parametri

Nome Tipo Descrizione
selector List\<String> Un selettore CSS per livello di nidificazione degli iFrame, seguito da un selettore CSS per l'elemento all'interno dell'iFrame più interno.

Restituzioni

Questo AxeSelenium, per concatenazione dei metodi.

Esempio

// Skip .third-party-ad inside the iframe matched by .iframe1
Results results = new AxeSelenium()
    .exclude(Arrays.asList(".iframe1", ".third-party-ad"))
    .run(driver);

exclude(FromFrames)

Rimuove un elemento all'interno di uno o più iFrame nidificati dalla scansione, usando un selettore FromFrames esplicito.

public AxeSelenium exclude(FromFrames fromFrames);

Parametri

Nome Tipo Descrizione
fromFrames FromFrames Ogni selettore tranne l'ultimo corrisponde a un livello di nidificazione degli iFrame; l'ultimo corrisponde all'elemento da escludere all'interno dell'iFrame più interno.

Restituzioni

Questo AxeSelenium, per concatenazione dei metodi.

Esempio

// Skip the form inside the #payment-frame iframe
Results results = new AxeSelenium()
    .exclude(new FromFrames("#payment-frame", "form"))
    .run(driver);

exclude(FromShadowDom)

Rimuove un elemento all'interno di uno o più shadow DOM nidificati dalla scansione, usando un selettore FromShadowDom esplicito.

public AxeSelenium exclude(FromShadowDom fromShadowDom);

Parametri

Nome Tipo Descrizione
fromShadowDom FromShadowDom Ogni selettore tranne l'ultimo corrisponde a un host ombra; l'ultimo corrisponde all'elemento da escludere all'interno della shadow root più interna.

Restituzioni

Questo AxeSelenium, per concatenazione dei metodi.

Esempio

// Skip the #search form inside the shadow root attached to .app-header
Results results = new AxeSelenium()
    .exclude(new FromShadowDom(".app-header", "form#search"))
    .run(driver);

exclude(Object)

Rimuove un'area dalla scansione usando un selettore fornito come un unico oggetto. Java seleziona questo overload solo quando il tipo statico dell'argomento non è uno dei tipi sopra, come una variabile dichiarata come Object. Preferisci gli overload tipizzati.

public AxeSelenium exclude(Object selector);

Parametri

Nome Tipo Descrizione
selector Object Una stringa di selettore CSS, una lista di stringhe, un selettore FromFrames, o un selettore FromShadowDom.

Restituzioni

Questo AxeSelenium, per concatenazione dei metodi.

Esempio

// The selector's type is chosen at runtime, so it's held as Object
Object skip = adInFrame ? new FromFrames("#ad-frame", ".ad") : ".ad";
Results results = new AxeSelenium()
    .exclude(skip)
    .run(driver);

exclude(Object...)

Rimuove un'area dalla scansione usando un selettore che mescola selettori CSS semplici con selettori FromFrames o FromShadowDom, per casi che gli altri overload non possono esprimere. Tutti gli argomenti insieme formano un unico percorso verso un elemento; non sono esclusioni separate.

Questo sovraccarico viene selezionato ogni volta che la chiamata passa più di un argomento. Passare un singolo selettore FromFrames o FromShadowDom seleziona invece exclude(FromFrames) o exclude(FromShadowDom).

Per raggiungere un iFrame che vive all'interno di una shadow root, nidifica il selettore FromShadowDom all'interno del selettore FromFrames. L'inverso non può essere espresso, perché FromShadowDom accetta solo stringhe.

public AxeSelenium exclude(Object... selector);

Parametri

Nome Tipo Descrizione
selector Object... Un insieme misto di selettori CSS e oggetti selettore che formano un unico percorso verso l'elemento da escludere.

Restituzioni

Questo AxeSelenium, per concatenazione dei metodi.

Esempio

// Skip .target inside the shadow root attached to #host, inside the #frame iframe
Results results = new AxeSelenium()
    .exclude("#frame", new FromShadowDom("#host", ".target"))
    .run(driver);

accordingTo(String...)

Esegue solo le regole che portano almeno uno dei tag dati, come wcag2a o best-practice. Usalo per testare rispetto a parte di un standard, ad esempio solo WCAG 2.0 Livello A, piuttosto che un intero set di regole.

accordingTo e checkingOnly impostano la stessa opzione, quindi solo l'ultima delle due chiamate ha effetto. Una seconda chiamata accordingTo sostituisce anche i tag della prima, quindi passa tutti i tag in una sola chiamata.

public AxeSelenium accordingTo(String... tags);

Parametri

Nome Tipo Descrizione
tags String... Uno o più tag axe-core. Vedi Descrizioni delle Regole per i tag su ogni regola.

Restituzioni

Questo AxeSelenium, per concatenazione dei metodi.

Esempio

// Run only the WCAG 2.0 Level A and Section 508 rules
Results results = new AxeSelenium()
    .accordingTo("wcag2a", "section508")
    .run(driver);

checkingOnly(String...)

Esegue solo le regole nominate e nessun'altra. Usalo per concentrarti su una o due regole, ad esempio mentre risolvi un problema specifico.

checkingOnly e accordingTo impostano la stessa opzione, quindi solo l'ultima delle due chiamate ha effetto. Una seconda chiamata checkingOnly sostituisce anche le regole della prima, quindi passa tutti gli ID delle regole in una sola chiamata.

public AxeSelenium checkingOnly(String... rules);

Parametri

Nome Tipo Descrizione
rules String... Uno o più ID di regole di axe-core. Vedi Descrizioni delle Regole.

Restituzioni

Questo AxeSelenium, per concatenazione dei metodi.

Esempio

// Run only the label and color-contrast rules
Results results = new AxeSelenium()
    .checkingOnly("label", "color-contrast")
    .run(driver);

checking(String...)

Attiva le regole nominate in aggiunta a quelle già selezionate dal set di regole o da accordingTo. Usalo per aggiungere una regola che i tag o il set di regole selezionati escludono, come una regola best-practice.

checking e skipping impostano la stessa opzione, quindi solo l'ultima delle due chiamate ha effetto, e una seconda chiamata checking sostituisce le regole dalla prima. Passa tutti gli ID delle regole in una sola chiamata e non combinare checking con skipping nello stesso scan.

public AxeSelenium checking(String... rules);

Parametri

Nome Tipo Descrizione
rules String... Uno o più ID di regole di axe-core. Vedi Descrizioni delle Regole.

Restituzioni

Questo AxeSelenium, per concatenazione dei metodi.

Esempio

// Run the WCAG 2.0 Level A rules, plus the tabindex best-practice rule
Results results = new AxeSelenium()
    .accordingTo("wcag2a")
    .checking("tabindex")
    .run(driver);

skipping(String...)

Disattiva le regole nominate, lasciando inalterati gli altri set di regole o tag selezionati. Usalo per disattivare completamente una regola; per eliminare la violazione su un elemento e mantenere gli altri risultati della regola, usa invece ignoring.

skipping e checking impostano la stessa opzione, quindi solo l'ultima delle due chiamate ha effetto, e una seconda chiamata skipping sostituisce le regole dalla prima. Passa tutti gli ID delle regole in una sola chiamata e non combinare skipping con checking nello stesso scan.

public AxeSelenium skipping(String... rules);

Parametri

Nome Tipo Descrizione
rules String... Uno o più ID di regole di axe-core. Vedi Descrizioni delle Regole.

Restituzioni

Questo AxeSelenium, per concatenazione dei metodi.

Esempio

// Run the default ruleset without the color-contrast and image-alt rules
Results results = new AxeSelenium()
    .skipping("color-contrast", "image-alt")
    .run(driver);

forConfig(URL)

Seleziona il suite di audit (un file di configurazione delle regole JSON) con cui effettuare la scansione, tramite URL. Questo imposta il suite di audit globale su AxeConfiguration, quindi si applica anche a ogni successiva scansione AxeSelenium, non solo a questa.

Quando non è impostato un suite di audit, Axe DevTools utilizza il file nominato dalla variabile d'ambiente AXE_RULESET_PATH o, se non è impostato, una risorsa config/axe-ruleset.json nel classpath.

public AxeSelenium forConfig(URL auditConfigPath);

Parametri

Nome Tipo Descrizione
auditConfigPath URL L'URL del file del suite di audit.

Restituzioni

Questo AxeSelenium, per concatenazione dei metodi.

Esempio

URL auditSuite = getClass().getResource("/config/my-audit-suite.json");
Results results = new AxeSelenium()
    .forConfig(auditSuite)
    .run(driver);

forConfig(String)

Seleziona il suite di audit con cui effettuare la scansione, tramite il suo percorso nel file system. Come forConfig(URL), imposta il suite di audit globale, quindi si applica anche alle scansioni successive.

public AxeSelenium forConfig(String auditConfigPath) throws MalformedURLException;

Parametri

Nome Tipo Descrizione
auditConfigPath String Il percorso nel file system del file del suite di audit.

Restituzioni

Questo AxeSelenium, per concatenazione dei metodi.

Eccezioni

MalformedURLException se il percorso non può essere convertito in un URL.

Esempio

Results results = new AxeSelenium()
    .forConfig("/opt/axe/my-audit-suite.json")
    .run(driver);

AxeSelenium.forRuleset(String)

Seleziona il set di regole con cui effettuare la scansione, come wcag2.2 o 508, con le regole di best-practice disattivate. Il set di regole predefinito è wcag2.1. Se è configurato anche un suite di audit, modifica il set di regole selezionato.

Questo imposta il set di regole globale su AxeConfiguration, quindi si applica anche a ogni scansione successiva. Vedi AxeConfiguration.forRuleset(String) per l'elenco degli ID del set di regole.

public AxeSelenium forRuleset(String rulesetId);

Parametri

Nome Tipo Descrizione
rulesetId String L'ID del set di regole.

Restituzioni

Questo AxeSelenium, per concatenazione dei metodi.

Esempio

Results results = new AxeSelenium()
    .forRuleset("wcag2.2")
    .run(driver);

AxeSelenium.forRuleset(String, boolean)

Seleziona il set di regole con cui effettuare la scansione e se eseguire anche le regole di best-practice. Altrimenti si comporta come AxeSelenium.forRuleset(String), incluso impostare il set di regole a livello globale.

public AxeSelenium forRuleset(String rulesetId, boolean enableBestPractices);

Parametri

Nome Tipo Descrizione
rulesetId String L'ID del set di regole.
enableBestPractices boolean true per eseguire anche le regole di best-practice.

Restituzioni

Questo AxeSelenium, per concatenazione dei metodi.

Esempio

// WCAG 2.1 rules plus best-practice rules
Results results = new AxeSelenium()
    .forRuleset("wcag2.1", true)
    .run(driver);

AxeSelenium.ignoring(String, String)

Rimuove le violazioni di una regola dai risultati dopo la scansione quando quella regola fallisce su un dato elemento. La regola è comunque eseguita e riporta ancora i suoi successi. Una chiamata per regola è sufficiente, poiché una corrispondenza rimuove l'intera voce della regola. Non chiamarla due volte per la stessa regola: se entrambi i selettori corrispondono a elementi in errore, la scansione lancia un IllegalStateException.

Il filtraggio funziona su regole intere: se un elemento che fallisce la regola corrisponde al selettore, l'intera voce della regola viene rimossa dalle violazioni, inclusi i fallimenti su altri elementi. Per mantenere tali risultati, restringi la scansione con exclude invece.

Il selettore deve corrispondere esattamente al target dell'elemento nei risultati, scritto come Java stampa una lista: il selettore target tra parentesi quadre, come "[#sidebar]", o "[#frame, .ad]" per un elemento all'interno di un iFrame. Copialo dai risultati di una scansione precedente anziché scriverlo manualmente.

public AxeSelenium ignoring(String attestSelector, String ruleId);

Parametri

Nome Tipo Descrizione
attestSelector String Il target dell'elemento, come appare nei risultati.
ruleId String L'ID della regola di cui ignorare la violazione.

Restituzioni

Questo AxeSelenium, per concatenazione dei metodi.

Esempio

// Ignore the known color-contrast violation on the sidebar
Results results = new AxeSelenium()
    .ignoring("[#sidebar]", "color-contrast")
    .run(driver);

disableIframeTesting()

Impedisce ad Axe DevTools di iniettare axe-core negli iFrame e di raccogliere risultati da essi, quindi viene testato solo il documento di primo livello. Usalo quando il contenuto degli iFrame è fuori dal tuo controllo o quando l'iniezione negli iFrame causa errori.

public AxeSelenium disableIframeTesting();

Restituzioni

Questo AxeSelenium, per concatenazione dei metodi.

Esempio

Results results = new AxeSelenium()
    .disableIframeTesting()
    .run(driver);

setTimeout(int)

Imposta quanto tempo, in secondi, axe-core può analizzare la pagina prima che la scansione fallisca con un timeout. Il valore predefinito è 30 secondi. Aumentalo per pagine molto grandi.

public AxeSelenium setTimeout(int timeout);

Parametri

Nome Tipo Descrizione
timeout int Il timeout, in secondi.

Restituzioni

Questo AxeSelenium, per concatenazione dei metodi.

Esempio

Results results = new AxeSelenium()
    .setTimeout(120)
    .run(driver);

logResults(AxeReportingOptions)

Scrive un rapporto di questa scansione al termine di run: un file .log che elenca le violazioni e un file .json con i risultati completi. I nomi e la posizione dei file provengono da reportingOptions; vedi AxeReportingOptions. Senza questa chiamata, non vengono scritti file di rapporto.

Se reportingOptions non ha impostato un numero di linea, Axe DevTools registra la linea del tuo test che ha chiamato logResults.

public AxeSelenium logResults(AxeReportingOptions reportingOptions);

Parametri

Nome Tipo Descrizione
reportingOptions AxeReportingOptions Dove scrivere il rapporto e come descrivere il test al suo interno.

Restituzioni

Questo AxeSelenium, per concatenazione dei metodi.

Esempio

// Writes axe-reports/checkout-page-loaded.log and .json
AxeReportingOptions options = new AxeReportingOptions()
    .testSuiteName("checkout")
    .uiState("page-loaded")
    .outputDirectory("axe-reports");

Results results = new AxeSelenium()
    .logResults(options)
    .run(driver);

loggingConfigured()

Segnala se logResults è stato chiamato su questo AxeSelenium.

public boolean loggingConfigured();

Restituzioni

true se le opzioni di reporting sono state impostate.

enableTracking(boolean)

Attiva o disattiva servizio di utilizzo per questo AxeSelenium. Il servizio di utilizzo è attivo di default. Quando la variabile d'ambiente AXE_TRACK_USAGE è impostata, ha la precedenza e questo metodo non ha effetto: true attiva il servizio e qualsiasi altro valore lo disattiva.

public AxeSelenium enableTracking(boolean state);

Parametri

Nome Tipo Descrizione
state boolean true per inviare dati sull'utilizzo, false per smettere di inviarli.

Restituzioni

Questo AxeSelenium, per concatenazione dei metodi.

Esempio

Results results = new AxeSelenium()
    .enableTracking(false)
    .run(driver);

trackingEnabled()

Segnala se questo AxeSelenium invia dati sull'utilizzo.

public boolean trackingEnabled();

Restituzioni

true se il servizio di utilizzo è attivo.

setTrackingUrl(String)

Imposta l'URL a cui vengono inviati i dati sull'utilizzo. Il valore predefinito è la variabile d'ambiente AXE_METRICS_URL, o https://usage.deque.com quando questa variabile non è impostata. Quando AXE_METRICS_URL è impostata, questo metodo non ha effetto.

public AxeSelenium setTrackingUrl(String url);

Parametri

Nome Tipo Descrizione
url String L'URL del servizio di utilizzo.

Restituzioni

Questo AxeSelenium, per concatenazione dei metodi.

Esempio

Results results = new AxeSelenium()
    .setTrackingUrl("https://usage.example.com")
    .run(driver);

setDistinctId(String)

Imposta l'ID distinto inviato con i dati sull'utilizzo, che permette al servizio di utilizzo di raggruppare gli eventi di un utente o macchina. L'ID viene salvato su ~/.deque/distinct_id, quindi esecuzioni successive sulla stessa macchina continuano a utilizzarlo. Quando l'ID proviene dalla variabile d'ambiente AXE_DISTINCT_ID, questo metodo non ha effetto.

public AxeSelenium setDistinctId(String id);

Parametri

Nome Tipo Descrizione
id String L'ID distinto.

Restituzioni

Questo AxeSelenium, per concatenazione dei metodi.

Esempio

Results results = new AxeSelenium()
    .setDistinctId("build-agent-7")
    .run(driver);

setAnalyticsComponentName(String)

Imposta il nome del progetto inviato con i dati sull'utilizzo. Questo resetta anche eventuali precedenti chiamate setTrackingUrl e enableTracking su questo AxeSelenium ai loro valori predefiniti, quindi chiamalo prima di quei metodi. Un ID distinto impostato con setDistinctId viene mantenuto.

public AxeSelenium setAnalyticsComponentName(String name);

Parametri

Nome Tipo Descrizione
name String Il nome del progetto.

Restituzioni

Questo AxeSelenium, per concatenazione dei metodi.

Esempio

Results results = new AxeSelenium()
    .setAnalyticsComponentName("storefront-tests")
    .setDistinctId("build-agent-7")
    .run(driver);

com.deque.html.axecore.args.FromFrames

Un selettore che mira a un elemento all'interno di uno o più iFrame annidati. Passalo a include o exclude su AxeSelenium.

import com.deque.html.axecore.args.FromFrames;

FromFrames(Object...)

Crea un selettore FromFrames da un percorso attraverso iFrame annidati fino a un elemento.

public FromFrames(Object... selectors);

Parametri

Nome Tipo Descrizione
selectors Object... Un selettore per ogni livello di nidificazione degli iFrame, seguito da un selettore per l'elemento all'interno dell'iFrame più interno. Ogni voce è una stringa di selettore CSS, o un selettore FromShadowDom quando l'iFrame stesso si trova all'interno di una radice shadow.

Esempio

// The form inside #inner-frame, which is inside #outer-frame
FromFrames checkoutForm = new FromFrames("#outer-frame", "#inner-frame", "form");

// The main element inside an iframe that lives in the shadow root attached to #widget
FromFrames widgetFrame = new FromFrames(new FromShadowDom("#widget", "iframe"), "main");

getFromFrames()

Restituisce i selettori che compongono il percorso attraverso gli iFrame annidati.

public List<Object> getFromFrames();

Restituzioni

I selettori, come un List\<Object>.

setFromFrames(Object...)

Sostituisce i selettori che compongono il percorso attraverso gli iFrame annidati.

public void setFromFrames(Object... fromFrames);

Parametri

Nome Tipo Descrizione
fromFrames Object... Il nuovo percorso, nella stessa forma che richiede costruttore.

Esempio

FromFrames selector = new FromFrames("#frame", "form");
selector.setFromFrames("#frame", "nav");

com.deque.html.axecore.args.FromShadowDom

Un selettore che mira a un elemento all'interno di uno o più alberi DOM shadow annidati. Passalo a include o exclude su AxeSelenium.

import com.deque.html.axecore.args.FromShadowDom;

FromShadowDom(String...)

Crea un selettore FromShadowDom da un percorso attraverso radici shadow annidate fino a un elemento.

public FromShadowDom(String... selectors);

Parametri

Nome Tipo Descrizione
selectors String... Un selettore per ogni shadow host, seguito da un selettore per l'elemento all'interno dello shadow root più interno.

Esempio

// The button inside the shadow root of .dialog, which is inside the shadow root of app-shell
FromShadowDom closeButton = new FromShadowDom("app-shell", ".dialog", "button.close");

getFromShadowDom()

Restituisce i selettori che compongono il percorso attraverso gli shadow root nidificati.

public List<String> getFromShadowDom();

Restituzioni

I selettori, come un List\<String>.

setFromShadowDom(String...)

Sostituisce i selettori che compongono il percorso attraverso gli shadow root nidificati.

public void setFromShadowDom(String... fromShadowDom);

Parametri

Nome Tipo Descrizione
fromShadowDom String... Il nuovo percorso, nella stessa forma che richiede costruttore.

Esempio

FromShadowDom selector = new FromShadowDom("app-shell", "nav");
selector.setFromShadowDom("app-shell", "footer");

com.deque.html.axedevtools.selenium.AxeDriver

Avvolge un Selenium WebDriver in modo che Axe DevTools possa iniettare axe-core nella pagina che controlla. Ogni scansione AxeSelenium e ogni matcher Hamcrest richiede un AxeDriver. Continuate a utilizzare il vostro WebDriver per navigare e interagire con la pagina.

AxeDriver(WebDriver)

Crea un AxeDriver per un Selenium WebDriver.

public AxeDriver(WebDriver webDriver);

Parametri

Nome Tipo Descrizione
webDriver WebDriver Il Selenium WebDriver che controlla la pagina da verificare.

Esempio

WebDriver webDriver = new ChromeDriver();
AxeDriver driver = new AxeDriver(webDriver);

webDriver.get("https://example.com");
Results results = new AxeSelenium().run(driver);

com.deque.html.axedevtools.selenium.AxeConfiguration

Contiene impostazioni che si applicano a ogni scansione nell'esecuzione del test: lo script axe-core, la suite di audit, il set di regole e i predefiniti utilizzati nei report. Esiste un'istanza condivisa, che si ottiene con AxeConfiguration.configure(). Configuratelo una volta, prima che vengano eseguiti i test.

I metodi su AxeSelenium come forRuleset e forConfig modificano anche questa istanza condivisa.

// Code runs once before any tests are run
public void setupOnce() {
  AxeConfiguration.configure()
    .withAxeScript(axeURL)
    .forAuditSuite(auditURL)
    .forRuleset("508")
    .outputDirectory("my-axe-results");
}

configure()

Restituisce l'istanza condivisa AxeConfiguration. Questo metodo statico è l'unico modo per ottenere un AxeConfiguration.

public static AxeConfiguration configure();

Restituzioni

Il AxeConfiguration condiviso.

Esempio

AxeConfiguration config = AxeConfiguration.configure();

reset()

Sostituisce la configurazione condivisa con una nuova che ha impostazioni predefinite. Utilizzatela tra classi di test che necessitano di impostazioni globali diverse. Un AxeConfiguration ottenuto prima di chiamare reset mantiene le sue vecchie impostazioni, quindi chiamate nuovamente configure() dopo.

public static void reset();

Esempio

@AfterClass
public static void tearDown() {
    AxeConfiguration.reset();
}

forAuditSuite(URL)

Seleziona la suite di audit (un file di configurazione delle regole JSON) per ogni scansione, tramite URL. Quando nessuna suite di audit è impostata, Axe DevTools utilizza il file nominato dalla variabile di ambiente AXE_RULESET_PATH o, se non è impostata, una risorsa config/axe-ruleset.json nel classpath.

public AxeConfiguration forAuditSuite(URL auditConfigPath);

Parametri

Nome Tipo Descrizione
auditConfigPath URL L'URL del file del suite di audit.

Restituzioni

Questo AxeConfiguration, per concatenazione dei metodi.

Esempio

AxeConfiguration.configure()
    .forAuditSuite(getClass().getResource("/config/my-audit-suite.json"));

forAuditSuite(String)

Seleziona la suite di audit per ogni scansione, tramite il suo percorso sul file system.

public AxeConfiguration forAuditSuite(String auditConfigPath) throws MalformedURLException;

Parametri

Nome Tipo Descrizione
auditConfigPath String Il percorso nel file system del file del suite di audit.

Restituzioni

Questo AxeConfiguration, per concatenazione dei metodi.

Eccezioni

MalformedURLException se il percorso non può essere convertito in un URL.

Esempio

AxeConfiguration.configure()
    .forAuditSuite("/opt/axe/my-audit-suite.json");

withAxeScript(URL)

Seleziona lo script axe-core da iniettare nella pagina, invece di quello integrato con Axe DevTools. Utilizzatelo per fissare una specifica build di axe-core.

public AxeConfiguration withAxeScript(URL axeScript);

Parametri

Nome Tipo Descrizione
axeScript URL L'URL dello script axe-core.

Restituzioni

Questo AxeConfiguration, per concatenazione dei metodi.

Esempio

AxeConfiguration.configure()
    .withAxeScript(getClass().getResource("/axe.min.js"));

AxeConfiguration.forRuleset(String)

Seleziona il set di regole per ogni scansione, con le regole delle migliori pratiche disattivate. Il set di regole predefinito è wcag2.1.

public AxeConfiguration forRuleset(String rulesetId);

Parametri

Nome Tipo Descrizione
rulesetId String Uno degli ID del set di regole qui sotto.

Gli ID del set di regole sono:

  • wcag2
  • wcag2.1
  • wcag2.2
  • wcag2aaa
  • wcag2.1aaa
  • wcag2.2aaa
  • 508
  • ttv5
  • en301549
  • rgaav4

Restituzioni

Questo AxeConfiguration, per concatenazione dei metodi.

Esempio

AxeConfiguration.configure().forRuleset("wcag2.2");

AxeConfiguration.forRuleset(String, boolean)

Seleziona il set di regole per ogni scansione e se eseguire anche le regole delle migliori pratiche.

public AxeConfiguration forRuleset(String rulesetId, boolean enableBestPractices);

Parametri

Nome Tipo Descrizione
rulesetId String Vedi AxeConfiguration.forRuleset(String) per gli ID del set di regole.
enableBestPractices boolean true per eseguire anche le regole di best-practice.

Restituzioni

Questo AxeConfiguration, per concatenazione dei metodi.

Esempio

AxeConfiguration.configure().forRuleset("508", true);

getTestSuiteName()

Restituisce il nome predefinito della suite di test utilizzato nei report. Il default è axe-run.

public String getTestSuiteName();

AxeConfiguration.testSuiteName(String)

Imposta il nome predefinito della suite di test utilizzato nei nomi dei file dei report e nel contenuto dei report. Un valore AxeReportingOptions.testSuiteName(String) lo sovrascrive per un report.

public AxeConfiguration testSuiteName(String testSuiteName);

Parametri

Nome Tipo Descrizione
testSuiteName String Il nome della suite di test.

Restituzioni

Questo AxeConfiguration, per concatenazione dei metodi.

Esempio

AxeConfiguration.configure().testSuiteName("storefront");

AxeConfiguration.getOutputDirectory()

Restituisce la directory predefinita in cui vengono scritti i report. Il default è axe-reports.

public String getOutputDirectory();

AxeConfiguration.outputDirectory(String)

Imposta la directory predefinita in cui vengono scritti i report. Le directory mancanti vengono create quando un report viene scritto. Un valore AxeReportingOptions.outputDirectory(String) lo sovrascrive per un report.

public AxeConfiguration outputDirectory(String outputDirectory);

Parametri

Nome Tipo Descrizione
outputDirectory String Il percorso della directory.

Restituzioni

Questo AxeConfiguration, per concatenazione dei metodi.

Esempio

AxeConfiguration.configure().outputDirectory("target/axe-reports");

AxeConfiguration.getUserAgent()

Restituisce l'user agent predefinito registrato nei report, o null se non è impostato.

public String getUserAgent();

AxeConfiguration.userAgent(String)

Imposta l'user agent predefinito registrato nei report. È solo un'etichetta e non cambia l'user agent inviato dal browser. Un valore AxeReportingOptions.userAgent(String) lo sovrascrive per un report.

public AxeConfiguration userAgent(String userAgent);

Parametri

Nome Tipo Descrizione
userAgent String L'user agent da registrare.

Restituzioni

Questo AxeConfiguration, per concatenazione dei metodi.

Esempio

AxeConfiguration.configure().userAgent("Chrome 130 headless");

AxeConfiguration.getTestMachine()

Restituisce il nome predefinito della macchina di test registrato nei report, o null se non è impostato.

public String getTestMachine();

AxeConfiguration.testMachine(String)

Imposta il nome predefinito della macchina di test registrato nei report. Un valore AxeReportingOptions.testMachine(String) lo sovrascrive per un report.

public AxeConfiguration testMachine(String testMachine);

Parametri

Nome Tipo Descrizione
testMachine String Il nome della macchina di test.

Restituzioni

Questo AxeConfiguration, per concatenazione dei metodi.

Esempio

AxeConfiguration.configure().testMachine(System.getenv("HOSTNAME"));

com.deque.html.axedevtools.selenium.reporter.AxeReportingOptions

Descrive un report: dove scriverlo e quali suite di test, stato UI, user agent, macchina di test e numero di riga registrare nel report. Passatelo a logResults. Implementa ReportingOptions.

Qualsiasi valore che non imposti predefinisce l'impostazione corrispondente AxeConfiguration. I file dei report sono nominati <test suite name>-<UI state>.log e .json, quindi date a ciascun controllo in una suite di test il proprio stato UI, altrimenti il report successivo sovrascrive quello precedente.

AxeReportingOptions()

Crea un AxeReportingOptions senza valori impostati, quindi ogni valore deriva da AxeConfiguration finché non lo imposti. Lo stato UI non ha un valore predefinito e deve essere impostato prima che venga scritto un report.

public AxeReportingOptions();

Esempio

AxeReportingOptions options = new AxeReportingOptions()
    .uiState("home-page");

defaultAuditReportingOptions()

Restituisce nuove opzioni con la directory di output target/axe-report, il nome della suite di test accessibility e lo stato UI check, quindi il report è scritto su target/axe-report/accessibility-check.log e .json. Queste sono le opzioni che il matcher Hamcrest isAuditedForAccessibility() utilizza quando non chiami logResults.

public static AxeReportingOptions defaultAuditReportingOptions();

Restituzioni

Una nuova AxeReportingOptions.

Esempio

Results results = new AxeSelenium()
    .logResults(AxeReportingOptions.defaultAuditReportingOptions())
    .run(driver);

getSuiteTestName()

Restituisce il nome della suite di test per questo report, o il default AxeConfiguration se non è impostato.

public String getSuiteTestName();

AxeReportingOptions.testSuiteName(String)

Imposta il nome della suite di test per questo report. È la prima parte dei nomi dei file di report.

public AxeReportingOptions testSuiteName(String testSuiteName);

Parametri

Nome Tipo Descrizione
testSuiteName String Il nome della suite di test.

Restituzioni

Questo AxeReportingOptions, per concatenazione dei metodi.

Esempio

AxeReportingOptions options = new AxeReportingOptions()
    .testSuiteName("checkout")
    .uiState("payment-step");

getUiState()

Restituisce lo stato UI per questo report.

public String getUiState();

Eccezioni

MissingUIStateException se non è stato impostato alcun stato UI.

uiState(String)

Imposta lo stato UI per questo report: un breve nome per descrivere l'aspetto della pagina quando è stata controllata, come menu-open o form-errors. È la seconda parte dei nomi dei file di report, ed è obbligatorio: scrivere un report senza di esso genera MissingUIStateException.

public AxeReportingOptions uiState(String uiState);

Parametri

Nome Tipo Descrizione
uiState String Il nome dello stato UI.

Restituzioni

Questo AxeReportingOptions, per concatenazione dei metodi.

Esempio

webDriver.findElement(By.id("menu-button")).click();

Results results = new AxeSelenium()
    .logResults(new AxeReportingOptions().uiState("menu-open"))
    .run(driver);

AxeReportingOptions.getOutputDirectory()

Restituisce la directory in cui questo report viene scritto, o il default AxeConfiguration se non è impostato.

public String getOutputDirectory();

AxeReportingOptions.outputDirectory(String)

Imposta la directory in cui questo report viene scritto. Le directory mancanti vengono create quando il report viene scritto.

public AxeReportingOptions outputDirectory(String outputDirectory);

Parametri

Nome Tipo Descrizione
outputDirectory String Il percorso della directory.

Restituzioni

Questo AxeReportingOptions, per concatenazione dei metodi.

Esempio

AxeReportingOptions options = new AxeReportingOptions()
    .outputDirectory("target/axe-reports/checkout")
    .uiState("cart");

getFileName()

Restituisce il nome del file del report senza estensione: il nome della suite di test e lo stato UI uniti da un trattino, seguiti da un timestamp se useUniqueFilename è attivo.

public String getFileName();

getFilePath(String)

Restituisce il percorso completo di un file di report: la directory di output, un /, il nome file e extension.

public String getFilePath(String extension);

Parametri

Nome Tipo Descrizione
extension String L'estensione del file, inclusi il punto iniziale, ad esempio .json.

Restituzioni

Il percorso del file.

Esempio

AxeReportingOptions options = new AxeReportingOptions()
    .testSuiteName("checkout")
    .uiState("cart")
    .outputDirectory("axe-reports");

String jsonPath = options.getFilePath(".json"); // axe-reports/checkout-cart.json

useUniqueFilename(boolean)

Aggiunge un timestamp UTC ai nomi dei file di report, in modo che eseguendo nuovamente lo stesso controllo vengano scritti nuovi file invece di sovrascrivere il report precedente.

Questo metodo restituisce l'interfaccia ReportingOptions anziché AxeReportingOptions, quindi chiamalo come istruzione separata, come nell'esempio, piuttosto che in una catena che assegni a un AxeReportingOptions o passi a logResults. I nomi dei file .log e .json vengono costruiti separatamente, quindi i loro timestamp possono differire leggermente.

public ReportingOptions useUniqueFilename(boolean uniqueFilename);

Parametri

Nome Tipo Descrizione
uniqueFilename boolean true per aggiungere un timestamp ai nomi dei file.

Restituzioni

Questo oggetto, digitato come ReportingOptions.

Esempio

AxeReportingOptions options = new AxeReportingOptions()
    .testSuiteName("nightly")
    .uiState("home");
options.useUniqueFilename(true);

AxeReportingOptions.getUserAgent()

Restituisce l'user agent registrato in questo report, o il valore predefinito AxeConfiguration se non ne è stato impostato alcuno.

public String getUserAgent();

AxeReportingOptions.userAgent(String)

Imposta l'user agent registrato in questo report. È solo un'etichetta e non modifica l'user agent inviato dal browser.

public AxeReportingOptions userAgent(String userAgent);

Parametri

Nome Tipo Descrizione
userAgent String L'user agent da registrare.

Restituzioni

Questo AxeReportingOptions, per concatenazione dei metodi.

Esempio

String userAgent = (String) ((JavascriptExecutor) webDriver).executeScript("return navigator.userAgent");
AxeReportingOptions options = new AxeReportingOptions()
    .userAgent(userAgent)
    .uiState("home");

AxeReportingOptions.getTestMachine()

Restituisce il nome della macchina di test registrato in questo report, o il valore predefinito AxeConfiguration se non ne è stato impostato alcuno.

public String getTestMachine();

AxeReportingOptions.testMachine(String)

Imposta il nome della macchina di test registrato in questo report.

public AxeReportingOptions testMachine(String testMachine);

Parametri

Nome Tipo Descrizione
testMachine String Il nome della macchina di test.

Restituzioni

Questo AxeReportingOptions, per concatenazione dei metodi.

Esempio

AxeReportingOptions options = new AxeReportingOptions()
    .testMachine("ci-linux-04")
    .uiState("home");

getLineNum()

Restituisce il numero di linea del test registrato in questo report, o null se non ne è stato impostato alcuno.

public String getLineNum();

lineNum(String)

Imposta il numero di linea del test registrato in questo report, sostituendo qualsiasi valore già impostato. Raramente ne hai bisogno: logResults registra automaticamente la linea chiamante quando non viene impostato un numero di linea.

public AxeReportingOptions lineNum(String lineNum);

Parametri

Nome Tipo Descrizione
lineNum String Il numero di linea.

Restituzioni

Questo AxeReportingOptions, per concatenazione dei metodi.

Esempio

AxeReportingOptions options = new AxeReportingOptions()
    .lineNum("42")
    .uiState("home");

lineNumIfEmpty(String)

Imposta il numero di linea del test solo se non ne è stato ancora impostato nessuno. logResults lo utilizza per registrare la linea chiamante senza sovrascrivere un valore impostato con lineNum.

Questo metodo restituisce l'interfaccia ReportingOptions anziché AxeReportingOptions, quindi chiamalo come istruzione separata piuttosto che in una catena che assegni a un AxeReportingOptions o passi a logResults.

public ReportingOptions lineNumIfEmpty(String lineNum);

Parametri

Nome Tipo Descrizione
lineNum String Il numero di linea.

Restituzioni

Questo oggetto, digitato come ReportingOptions.

com.deque.html.axedevtools.selenium.reporter.MissingUIStateException

Un RuntimeException lanciato quando un report viene scritto con opzioni di report che non hanno stato UI, con il messaggio "Si prega di fornire lo stato UI della pagina corrente sotto test". Per evitarlo, chiama uiState su ogni AxeReportingOptions che passi a logResults.

com.deque.html.axedevtools.selenium.results.ResultsFilter

Contiene le coppie elemento e regola da eliminare dai risultati. Ogni AxeSelenium crea il proprio ResultsFilter, che puoi aggiungere con AxeSelenium.ignoring(String, String) anziché crearne uno tu stesso. Puoi anche usare un ResultsFilter direttamente per filtrare un oggetto Results che hai già.

filterIgnoredViolations(Results)

Rimuove le violazioni ignorate da results. L'intera voce di una regola viene rimossa dalle violazioni quando l'ID della regola corrisponde e uno dei suoi nodi ha un target uguale a un selettore ignorato, anche se altri nodi non corrispondono. L'oggetto Results che passi viene modificato e restituito.

public Results filterIgnoredViolations(Results results);

Parametri

Nome Tipo Descrizione
results Results I risultati da filtrare.

Restituzioni

Lo stesso oggetto Results, con le violazioni ignorate rimosse.

Esempio

Results results = new AxeSelenium().run(driver);

new ResultsFilter()
    .ignoring("[#legacy-widget]", "aria-allowed-attr")
    .filterIgnoredViolations(results);

ResultsFilter.ignoring(String, String)

Aggiunge una coppia di elemento e regola da ignorare. Il selettore deve corrispondere esattamente a un nodo target, nella forma "[#sidebar]"; vedi AxeSelenium.ignoring(String, String).

public ResultsFilter ignoring(String cssSelector, String ruleId);

Parametri

Nome Tipo Descrizione
cssSelector String Il target dell'elemento, come appare nei risultati.
ruleId String L'ID della regola di cui ignorare la violazione.

Restituzioni

Questo ResultsFilter, per concatenazione dei metodi.

Esempio

ResultsFilter filter = new ResultsFilter()
    .ignoring("[#sidebar]", "color-contrast")
    .ignoring("[.third-party-iframe]", "frame-title");

com.deque.html.axedevtools.reporter.AxeDevtoolsReporter

Scrive i file di report .log e .json per una scansione. AxeSelenium e i matcher Hamcrest lo usano per te quando chiami logResults; usalo direttamente solo per riportare su Results che hai già.

AxeDevtoolsReporter()

Crea un AxeDevtoolsReporter.

public AxeDevtoolsReporter();

Esempio

AxeDevtoolsReporter reporter = new AxeDevtoolsReporter();

generateReport(Results, String)

Restituisce un sommario in testo semplice delle violazioni in results: il testo di aiuto e l'URL di ciascuna regola, il target di ciascun nodo interessato e i controlli per correggere, seguito dal comando che ha prodotto i risultati. Questo è il testo scritto nel file .log e il testo che il matcher Hamcrest isAxeClean() mostra quando un'asserzione fallisce.

public String generateReport(Results results, String executedCommand);

Parametri

Nome Tipo Descrizione
results Results I risultati della scansione.
executedCommand String Il testo del comando da includere nel report, ad esempio da runCommand().

Restituzioni

Il testo del report.

Esempio

AxeSelenium axe = new AxeSelenium();
Results results = axe.run(driver);

String report = new AxeDevtoolsReporter().generateReport(results, axe.runCommand());
System.out.println(report);

report(ReportingOptions, Results, String)

Scrive il report per results su due file nel percorso fornito da reportingOptions: un file .log con il testo generateReport e un file .json con i risultati completi. Se reportingOptions è null, non viene scritto nulla.

public void report(ReportingOptions reportingOptions, Results results, String executedCommand);

Parametri

Nome Tipo Descrizione
reportingOptions ReportingOptions Dove scrivere il report, solitamente un AxeReportingOptions.
results Results I risultati della scansione.
executedCommand String Il comando che ha prodotto i risultati.

Eccezioni

MissingUIStateException se reportingOptions non ha stato UI, o un RuntimeException se i file non possono essere scritti.

Esempio

AxeSelenium axe = new AxeSelenium();
Results results = axe.run(driver);

new AxeDevtoolsReporter().report(
    new AxeReportingOptions().uiState("after-login"),
    results,
    axe.runCommand());

com.deque.html.axedevtools.utils.FileUtils

Strumenti per i file che Axe DevTools utilizza internamente per leggere e scrivere file di report. Non è destinato all'uso nei tuoi test.