Cucumber JavaScript

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

Testen mit JavaScript, axe DevTools und Cucumber

Not for use with personal data

Voraussetzungen

Um Ihren Inhalt mit Cucumber mit axe DevTools zu testen, müssen Sie ihn zuerst in Ihr Projekt importieren und initialisieren.

Wenn Sie diesen Schritt noch nicht abgeschlossen haben, wählen Sie zur Einrichtung mit Cucumber eine der folgenden Optionen aus:

  1. WebDriverJS-Setup
  2. WebdriverIO-Setup
  3. Puppenspieler-Setup

Cucumber mit axe DevTools

Nachdem Sie eine Implementierung für die Arbeit mit Cucumber ausgewählt haben, können Sie jetzt einen wiederverwendbaren Schritt erstellen, der in jeder Ihrer Funktionen verwendet werden kann und mit dem Sie Ihren Inhalt auf Seitenebene oder speziell eine Komponente testen können.

note

Diese Dokumentation zeigt die Verwendung mit der WebDriverJS-Integration, es funktioniert jedoch genauso mit WebdriverIO und Puppeteer.

Erstellen eines Seitenscan-Schritts

Um einen Cucumber-Schritt zu erstellen, der die gesamte Seite auf Zugänglichkeitsprobleme überprüft, erstellen Sie eine Then -Funktion, die eine Zeichenfolge für den Seitennamen annimmt. Erstellen Sie als Nächstes innerhalb des Schritts einfach eine neue Instanz des axe DevTools-Treibers Ihrer Wahl und rufen Sie dann analyze() auf.

Die Ergebnisse des Scans können dann mit dem axe DevTools Reporter-Paket verwendet und für alle Berichtsfunktionen genutzt werden. Weitere Informationen zur Berichterstellung mit axe DevTools finden Sie unter Generieren von Berichten aus axe DevTools JSON-Ergebnissen .

Das folgende Beispiel zeigt die Verwendung einer Then -Funktion:

Then('I check if {string} is axe clean', async pageName => {
  const axeDriver = await new AxeDevtoolsWebdriverJS(driver, "wcag2");
  const results = await axeDriver.analyze();
  axeReporter.logTestResult(pageName, results);
  assert.strictEqual(results.violations.length, 0);
});

Das folgende Beispiel zeigt ein Cucumber-Szenario mit einem Then Schritt zum Testen der Barrierefreiheit:

Feature: abcdTech search
  As a user, I want to search for computers on abcdTech.

  Scenario: Searching for computers
    Given I am on the abcdTech homepage
    Then I audit "homepage" for accessibility issues
    When I search for "computers"
    Then I see the page title "Gefälscht~~~Gefälscht CompuTech~~~"
    Then I check if "searchPage" is axe clean

Erstellen eines Komponentenscan-Schritts

Um einen Cucumber-Schritt zu erstellen, der nur einen Teil der Seite oder eine Komponente auf Barrierefreiheitsprobleme überprüft, erstellen Sie eine Then -Funktion, die einen String für den Komponentennamen und einen weiteren String für den CSS-Selektor annimmt. Erstellen Sie als Nächstes innerhalb dieses Schritts einfach eine neue Instanz des axe DevTools-Treibers Ihrer Wahl und rufen Sie dann analyze() auf.

Die Ergebnisse des Scans können dann mit dem axe DevTools Reporter-Paket verwendet und für alle Berichtsfunktionen genutzt werden. Weitere Informationen zur Berichterstellung mit axe DevTools finden Sie unter Generieren von Berichten aus axe DevTools JSON-Ergebnissen .

Das folgende Beispiel zeigt, wie Sie Dann mit einem Selektor verwenden, um einen Teil einer Seite zu scannen:

Then('I check if {string} is axe clean with selector {string}', async (pageName, selector) => {
  const axeDriver = await new AxeDevtoolsWebdriverJS(driver, "wcag2");
  const results = await axeDriver.include(selector).analyze();
  axeReporter.logTestResult(pageName, results);
  assert.strictEqual(results.violations.length, 0);
});

Dieses Beispiel zeigt, wie der Schritt Dann in einem Szenario verwendet wird, in dem nur ein Teil einer Seite gescannt wird:

Feature: abcdTech cart flow
  As a user, I want to find a computer and add it to cart

  Scenario: Selecting a new computer and adding to cart
    Given I am on the abcdTech laptops page
    Then I audit "laptops" for accessibility issues
    When I click on more details
    Then I see the proper page title "Gefälscht~~~Gefälscht CompuTech~~~"
    Then I audit "mainContent" for accessibility issues with selector "#container"

Nachdem Sie nun erfolgreich einen Zugänglichkeitsscan abgeschlossen haben, können Sie mit fortfahren, fortgeschritteneren Scan-Themen wie Erstellen von Berichten und Verwenden des Ergebnisobjekts.

Fehlerbehebung

Wenn Sie Probleme beim Abrufen der Scanergebnisse haben, wenden Sie sich direkt an Ihren Deque-Vertreter, erreichen Sie uns über unseren Support-Desk oder senden Sie uns eine E-Mail. Wir helfen Ihnen gerne weiter.

Weitere Informationen zu axe DevTools im Allgemeinen finden Sie auf der [Willkommensseite] von axe DevTools.(welcome-axe-devtools)