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

Tests utilisant JavaScript, Axe DevTools et Cucumber

Not for use with personal data

Prérequis

Pour tester votre contenu à l'aide de Cucumber avec Axe DevTools, vous devez d'abord l'importer et l'initialiser dans votre projet.

Si vous n'avez pas encore effectué cette étape, veuillez sélectionner l'une des options suivantes pour configurer avec Cucumber :

  1. Configuration WebDriverJS
  2. Configuration WebdriverIO
  3. Configuration Puppeteer

Cucumber avec Axe DevTools

Une fois que vous avez choisi une implémentation pour travailler avec Cucumber, vous pouvez maintenant créer une étape réutilisable qui peut être utilisée dans chacune de vos fonctionnalités pour tester le contenu de votre page ou spécifiquement un composant.

note

Cette documentation montre l'utilisation avec l'intégration WebDriverJS, mais cela fonctionnera de la même manière avec WebdriverIO et Puppeteer.

Créer une étape de balayage de page

Pour créer une étape Cucumber qui analyse toute la page pour détecter des problèmes d'accessibilité, créez une fonction Ensuite qui prend une chaîne pour le nom de la page. Ensuite, dans l'étape, créez simplement une nouvelle instance du pilote Axe DevTools de votre choix, puis appelez analyser().

Les résultats de l'analyse peuvent ensuite être utilisés avec le package de rapport Axe DevTools et utilisés pour toutes les fonctionnalités de reporting. Voir Générer des rapports à partir des résultats JSON d'Axe DevTools pour plus d'informations sur le reporting avec Axe DevTools.

L'exemple suivant montre l'utilisation d'une fonction Ensuite :

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);
});

L'exemple suivant montre un scénario Cucumber avec une étape Ensuite pour tester l'accessibilité :

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

Créer une étape de balayage de composant

Pour créer une étape Cucumber qui analyse seulement une partie de la page ou un composant pour des problèmes d'accessibilité, créez une fonction Ensuite qui prend une chaîne pour le nom des composants et une autre chaîne pour le sélecteur CSS. Ensuite, dans l'étape, créez simplement une nouvelle instance du pilote Axe DevTools de votre choix, puis appelez analyser().

Les résultats de l'analyse peuvent ensuite être utilisés avec le package de rapport Axe DevTools et utilisés pour toutes les fonctionnalités de reporting. Voir Générer des rapports à partir des résultats JSON d'Axe DevTools pour plus d'informations sur le reporting avec Axe DevTools.

L'exemple suivant montre comment utiliser Ensuite avec un sélecteur pour analyser une partie d'une page :

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);
});

Cet exemple montre comment utiliser l'étape Ensuite avec un scénario qui analyse uniquement une partie d'une page :

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"

Maintenant que vous avez réussi à terminer une analyse d'accessibilité, vous êtes prêt à passer à des sujets de balayage plus avancés tels que génération de rapports et utilisation de l'objet résultats.

Dépannage

Si vous avez des difficultés à obtenir les résultats de l'analyse, contactez directement votre représentant Deque, joignez-nous via notre service d'assistance, ou envoyez-nous un e-mail. Nous serons heureux de vous aider.

Pour plus d'informations sur Axe DevTools en général, consultez la page d'accueil Axe DevTools