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

Pruebas con JavaScript, axe DevTools y Cucumber

Not for use with personal data

Prerrequisitos

Para probar su contenido usando Cucumber con axe DevTools, primero debe importarlo e inicializarlo en su proyecto.

Si aún no ha completado este paso, seleccione una de las siguientes opciones para configurarlo con Cucumber:

  1. Configuración de WebDriverJS
  2. Configuración de WebdriverIO
  3. Configuración de Puppeteer

Cucumber con axe DevTools

Una vez que haya seleccionado una implementación para trabajar con Cucumber, ahora puede crear un paso reutilizable que se puede usar en cada una de sus características que probarán el contenido de su nivel de página o un componente específicamente.

note

Esta documentación muestra el uso con la integración de WebDriverJS, sin embargo, funcionará de la misma manera con WebdriverIO y Puppeteer.

Creación de un paso de escaneo de página

Para crear un paso de Cucumber que escanee toda la página en busca de problemas de accesibilidad, cree una función Then que tome una cadena como nombre de la página. A continuación, dentro del paso, simplemente cree una nueva instancia del controlador de axe DevTools que elija y luego llame a analyze().

Los resultados del escaneo se pueden usar luego con el paquete de reporter de axe DevTools y usarse para todas las funciones de informes. Consulte Generación de informes a partir de resultados JSON de axe DevTools para obtener más información sobre los informes de axe DevTools.

El siguiente ejemplo muestra el uso de la función Then :

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

El siguiente ejemplo muestra un escenario de Cucumber con un paso Then para probar la accesibilidad:

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

Creación de un paso de escaneo de componentes

Para crear un paso de Cucumber que escanee solo una parte de la página o un componente en busca de problemas de accesibilidad, cree una función Then que tome una cadena para el nombre del componente y otra cadena para el selector CSS. A continuación, dentro del paso, simplemente cree una nueva instancia del controlador de axe DevTools de su elección y luego llame a analyze().

Los resultados del escaneo se pueden usar luego con el paquete de reporter de axe DevTools y usarse para todas las funciones de informes. Consulte Generación de informes a partir de resultados JSON de axe DevTools para obtener más información sobre los informes de axe DevTools.

El siguiente ejemplo muestra cómo utilizar Luego con un selector para escanear parte de una página:

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

Este ejemplo muestra cómo utilizar el paso Luego con un escenario que solo escanea parte de una página:

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"

Ahora que ha completado con éxito un análisis de accesibilidad, está listo para pasar a temas de análisis más avanzados, como generar informes y usar el objeto de resultados.

Solución de problemas

Si tiene problemas para obtener los resultados del escaneo, comuníquese directamente con su representante de Deque, contáctenos a través de nuestro servicio de asistencia o envíenos un correo electrónico. Estaremos encantados de ayudarle.

Para obtener más información sobre axe DevTools en general, consulte la axe DevTools página de bienvenida