Scrivi i test Cucumber

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

Utilizzo di Cucumber con axe DevTools

Prerequisiti

Per scrivere test di accessibilità e produrre risultati, è necessario aver già creato un file di test con axe DevTools e il Selenium WebDriver preimportato e preinizializzato. Se non lo hai ancora fatto, leggi questa guida per sapere come farlo.

Configurazione

Per prima cosa, aggiungi axe DevTools alla tua configurazione

public class AppConfiguration {

    @Bean
    public static AxeWorld axeWorld() {
        return new AxeWorld();
    }
}

Ora aggiungi i passaggi necessari per utilizzare axe DevTools

public class StepDefinitions {

    private AxeWorld axeWorld;

    public StepDefinitions(AxeWorld axeWorld) {
        this.axeWorld = axeWorld;
    }

    private WebDriver webDriver;

    @Before
    public void setup() throws IOException {
        webDriver = new ChromeDriver();
        axeWorld.setPage(new AxeDriver(webDriver));
    }

    @After
    public void tearDown() throws Exception {
        webDriver.quit();
    }

    @When("^I visit \"([^\"]*)\"$")
    public void iVisit(String url) throws Throwable {
        webDriver.get(url);

    }
}

Scrittura di test

Prima di poter testare una pagina, è necessario accedervi. Il primo passo è creare un'istanza di Selenium WebDriver e accedere a una pagina

WebDriver webDriver = new ChromeDriver();
webDriver.get("'https://broken-workshop.dequelabs.com'");

Quindi, puoi creare un oggetto driver di scansione axe DevTools e passarlo nel WebDriver

AxeDriver axeDriver = new AxeDriver(webDriver);

Infine, includi axeDriver nelle definizioni dei tuoi passaggi

// Inject AxeWorld into your step definitions.
public StepDefinitions(AxeWorld axeWorld) {
  this.axeWorld = axeWorld;
}
// Provide the page to the Axe World
axeWorld.setPage(new axeDriver(webDriver));

È quindi possibile testare l'accessibilità della pagina. Attualmente, axe DevTools supporta i test Pico e Spring tramite Cucumber.

Utilizzo

Accessibilità Passaggi di Cucumber

Gli esempi di controlli di accessibilità riportati di seguito utilizzano Then the page should be axe clean, ma tutti i controlli funzionano in modo intercambiabile con Then the page should be audited for accessibility. La differenza tra i due è se il test fallirà in caso di violazioni dell'accessibilità con Then the page should be axe clean, oppure non fallirà con Then the page should be audited for accessibility.

Per costruire uno step Cucumber per l'accessibilità di axe, iniziare con lo step base e aggiungere tutte le clausole necessarie. Tutte le seguenti clausole possono essere mescolate e abbinate; tuttavia, devono apparire nell'ordine specificato:

Then the page should be axe clean [including] [excluding] [according-to] [checking-rules/checking-only-rules] [skipping-rules]

Passaggio di base

Il passaggio base è il componente centrale del passaggio Cucumber. Si tratta di un passaggio completo che verifica che la pagina attualmente caricata sia accessibile. Esegue un controllo dell'accessibilità della tua pagina. I log di audit segnalano i problemi di accessibilità in target/axe-report/accessibility-check.log e creano un output JSON dei risultati in target/axe-report/accessibility-check.json.

Then the page should be axe clean
This step will cause test suite failures if accessibility violations are found
Then the page should be audited for accessibility
This step will require handling of violations outside of test suite failures, as this step does not trigger the suite to fail if violations are found.

Ambito di applicazione

Axe DevTools consente di effettuare scansioni di accessibilità in modo inclusivo ed esclusivo. Inoltre, questi scope possono interagire tra loro per creare enclaves and exclaves complesse di scope. Questi scope funzionano tramite selettori CSS.

Clausola di inclusione

La clausola di inclusione within "#selector" specifica quali elementi controllare nella pagina. Verranno scansionati solo gli elementi compresi nell'ambito selezionato. La clausola di inclusione deve includere un selettore CSS valido racchiuso tra virgolette doppie. Utilizzare i selettori composti per selezionare più elementi. Ad es. within "#header, .footer"

Then the page should be axe clean within "#selector"

Clausola di esclusione

La clausola di esclusione excluding "#selector" specifica quali elementi ignorare. Non verrà scansionato alcun elemento compreso nell'ambito selezionato. La clausola di esclusione deve includere un selettore CSS valido racchiuso tra virgolette doppie. Utilizzare i selettori composti per selezionare più elementi. Ad esempio: excluding "#widget, .ad"

Then the page should be axe clean excluding "#selector"

Concatenare inclusione ed esclusione

Per concatenare le clausole di inclusione ed esclusione, utilizzare il punto e virgola (;) o la parola ma per separarle.

Then the page should be axe clean within "main"; excluding "aside"
Then the page should be axe clean within "main" but excluding "aside"

Configurazione delle regole

Esistono alcuni modi per modificare la configurazione delle regole standard utilizzando l'API Cucumber. È possibile selezionare le regole per gruppo tramite l'uso di tag oppure selezionare le regole singolarmente tramite il loro ID.

Clausola del tag della regola

La condizione tag specifica quale standard (o standard) di accessibilità utilizzare nel controllo della pagina. Specificare gli standard di accessibilità per nome (tag). È possibile specificare più standard separati da virgole. p.e. according to: wcag2a, section508

Tutti i nomi dei tag sono documentati oltre a un elenco completo delle descrizioni delle regole che corrispondono a ciascun tag.

Then the page should be axe clean according to: best-practice

Controllare la clausola delle regole aggiuntive

Questa clausola consente di aggiungere regole aggiuntive a quelle esistenti. È possibile specificare una singola regola tramite ID regola oppure un elenco di regole separate da virgole. Consulta la documentazione delle regole per un elenco delle regole e dei relativi ID. Utilizzare un punto e virgola (;) o la parola and per separare la clausola checking-rules da tutte le clausole precedenti.

Then the page should be axe clean checking: color-contrast
Then the page should be axe clean according to: wcag2a; checking: color-contrast
Then the page should be axe clean according to: wcag2a and checking: color-contrast

Clausola di verifica solo delle regole specificate

Aggiungendo la parola only alla clausola delle regole di controllo, è possibile modificare il significato del passaggio. Come descritto in precedenza, la clausola checking-rules specifica regole aggiuntive da eseguire. Se viene utilizzata una certa parola only , vengono controllate solo le regole specificate. Consulta la documentazione delle regole per un elenco delle regole e dei relativi ID. Utilizzare un punto e virgola (;) o la parola and per separare la clausola checking-rules da tutte le clausole precedenti.

Then the page should be axe clean checking only: color-contrast

Clausola di esclusione delle regole

La clausola skipping-rules specifica quali regole saltare dalla configurazione delle regole esistente. Le regole da ignorare sono specificate tramite ID regola separati da virgole. Consulta la documentazione delle regole per un elenco delle regole e dei relativi ID. Utilizzare un punto e virgola (;) o la parola "to" and per separare la clausola checking-rules da tutte le clausole precedenti.

Then the page should be axe clean skipping: color-contrast
Then the page should be axe clean according to: wcag2a; skipping: color-contrast
Then the page should be axe clean according to: wcag2a but skipping: color-contrast

Clausola di selezione del set di regole

Accedi ai set di regole taggati in axeDriver tramite una clausola Cucumber. Questa funzionalità consente di specificare un set di regole (ad esempio: 508, wcag2, wcag2.1) per verificare l'accessibilità della pagina.

Then the page should be axe clean according to ruleset: wcag2.1

Servizio di uso

Ottieni informazioni sulle tendenze di utilizzo di axe DevTools all'interno della tua organizzazione

Per impostazione predefinita, il servizio di utilizzo è disabilitato e l'URL predefinito è https://usage.deque.com.

Variabili ambientali

Questo metodo consente agli utenti di modificare valori specifici del servizio di utilizzo tramite variabili di ambiente

Variabile d'ambiente Tipo Descrizione
AXE_IS_LOGGED_IN Booleano Se l'utente ha effettuato l'accesso all'app in fase di test
AXE_KEYCLOAK_ID String L'ID keycloak dell'utente loggato
AXE_USER_ID String Il nome dell'utente che esegue il test
AXE_SESSIONE_ID String Descrizione della sessione di test
AXE_STATO_UTENTE String Lo stato dell'utente
AXE_RUOLO_LAVORO_UTENTE String Il titolo/ruolo dell'individuo che esegue il test
AXE_DISTINTO_ID String ID univoco di un singolo utente
AXE_ISTANZA_IS_DEV Booleano Se l'app in fase di test si trova in un'istanza di sviluppo
AXE_ORGANIZATION String L'organizzazione dell'utente - gestione dei dati su scala aziendale
AXE_APPLICATION String Il nome dell'applicazione in fase di test
AXE_METRICS_URL String L'URL a cui vengono inviati i dati di utilizzo
AXE_TRACCIA_USO Booleano Se i dati di utilizzo vengono acquisiti o meno

Prossimi passi

Per un ulteriore utilizzo dei risultati della scansione di axe DevTools, come la creazione di report, consultare la documentazione del pacchetto Java Selenium di axe DevTools

Risoluzione dei problemi

Se riscontri problemi durante la configurazione dei test di accessibilità, contatta direttamente il tuo rappresentante Deque, contattaci tramite il nostro support desk oppure inviaci un'e-mail. Saremo lieti di aiutarti a far partire i tuoi sforzi di test di accessibilità.