Referencia de API para 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

Referencia de API para AxeSelenium, AxeConfiguration y las clases relacionadas de selector, informes y resultados en Axe DevTools para Web Java

Not for use with personal data

Este documento es una referencia para las clases AxeSelenium y AxeConfiguration, y para los tipos de selector, informes y resultados que utilizan. La clase AxeSelenium debería cubrir la mayoría de los casos de uso, y AxeConfiguration debería cubrir el resto.

Los ejemplos en esta página asumen que webDriver es su WebDriver Selenium y que driver es un AxeDriver que lo envuelve.

com.deque.html.axedevtools.selenium.AxeSelenium

Configura una exploración de accesibilidad y la ejecuta. Cada método de configuración devuelve la misma instancia de AxeSelenium, por lo que las llamadas pueden encadenarse, y run(AxeDriver) realiza la exploración.

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

AxeSelenium()

Crea una exploración AxeSelenium que utiliza la configuración global AxeConfiguration, como el conjunto de reglas, el paquete de auditoría y el directorio de salida del informe. Use este constructor a menos que necesite personalizar el AxeBuilder subyacente.

public AxeSelenium();

Ejemplo

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

AxeSelenium(AxeBuilder)

Crea una exploración AxeSelenium que se ejecuta a través del AxeBuilder que proporcione, de la integración de axe-core con Selenium (com.deque.html.axecore.selenium.AxeBuilder). Úselo para acceder a las opciones AxeBuilder que AxeSelenium no expone, como el modo heredado. La configuración global AxeConfiguration todavía se aplica.

public AxeSelenium(AxeBuilder axeBuilder);

Parámetros

Nombre Tipo Descripción
axeBuilder AxeBuilder El constructor utilizado para inyectar axe-core en la página y ejecutarlo.

Ejemplo

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

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

run(AxeDriver)

Explora la página que page muestra actualmente, usando cada opción configurada en este AxeSelenium, y devuelve los resultados. Las violaciones ignoradas (ver AxeSelenium.ignoring(String, String)) se eliminan de los resultados, y, si se llamó a logResults, los archivos de informe se escriben antes de que run devuelva.

Si axe-core informa un error durante la exploración, run lo lanza en lugar de devolver resultados.

public Results run(AxeDriver page);

Parámetros

Nombre Tipo Descripción
page AxeDriver La página a explorar.

Devuelve

Un objeto Results (com.deque.html.axecore.results.Results) que contiene las violaciones, aprobaciones, incompletos e inaplicables resultados.

Lanza

  • AxeRuntimeException (com.deque.html.axecore.results.AxeRuntimeException) cuando axe-core devuelve un error en lugar de resultados.
  • RuntimeException cuando la exploración en sí falla, por ejemplo cuando axe.finishRun falla o el controlador no puede cambiar entre ventanas.

Ejemplo

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

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

runCommand()

Devuelve el script axe.run genérico que AxeSelenium ejecuta en el navegador en modo heredado. El script no incluye el contexto o las opciones de esta exploración, y con axe-core 4.3 o posterior (el modo no heredado por defecto) las exploraciones se ejecutan a través de un conjunto diferente de llamadas. AxeSelenium pasa este script al reportero, por lo que es principalmente útil cuando usted construye su propio texto de informe con AxeDevtoolsReporter.generateReport.

public String runCommand();

Devuelve

El script, como un String.

include(String)

Limita la exploración a los elementos emparejados por un selector CSS, y sus descendientes. Cada llamada agrega otra área a la exploración, por lo que para probar varias partes no relacionadas de la página, llame a include una vez por cada una. Un único selector separado por comas (".sidebar, .some-class") también funciona, porque se pasa al navegador tal cual.

public AxeSelenium include(String cssSelector);

Parámetros

Nombre Tipo Descripción
cssSelector String Cualquier selector CSS válido.

Devuelve

Este AxeSelenium, para encadenar métodos.

Ejemplo

// 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 exploración a un elemento dentro de uno o más iFrames anidados. Cada cadena excepto la última empareja un nivel de anidamiento de iFrame; la última empareja el elemento a probar dentro del iFrame más interno. La lista describe un solo camino, no varios selectores.

Debido a que no hay una sobrecarga de include(String...), pasar más de una cadena de texto a include también produce un único selector de iFrame en lugar de inclusiones separadas: include("#parent-iframe", "#html") se resuelve a include(Object...) y significa lo mismo que el ejemplo de abajo.

include(FromFrames) expresa lo mismo de manera más explícita y es la forma recomendada para nuevas pruebas.

public AxeSelenium include(List<String> selector);

Parámetros

Nombre Tipo Descripción
selector List\<String> Un selector CSS por nivel de anidamiento de iFrame, seguido por un selector CSS para el elemento dentro del iFrame más interno.

Devuelve

Este AxeSelenium, para encadenar métodos.

Ejemplo

// 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 exploración a un elemento dentro de uno o más iFrames anidados, usando un selector FromFrames explícito.

public AxeSelenium include(FromFrames fromFrames);

Parámetros

Nombre Tipo Descripción
fromFrames FromFrames Cada selector excepto el último empareja un nivel de anidamiento de iFrame; el último empareja el elemento a probar dentro del iFrame más interno.

Devuelve

Este AxeSelenium, para encadenar métodos.

Ejemplo

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

include(FromShadowDom)

Limita la exploración a un elemento dentro de uno o más árboles DOM en sombra anidados, usando un selector FromShadowDom explícito.

public AxeSelenium include(FromShadowDom fromShadowDom);

Parámetros

Nombre Tipo Descripción
fromShadowDom FromShadowDom Cada selector excepto el último empareja un anfitrión de sombra; el último empareja el elemento a probar dentro de la raíz de sombra más interna.

Devuelve

Este AxeSelenium, para encadenar métodos.

Ejemplo

// 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 exploración usando un selector suministrado como un solo objeto. Java selecciona esta sobrecarga solo cuando el tipo estático del argumento no es uno de los tipos anteriores, como una variable declarada como Object. Prefiera las sobrecargas tipadas.

public AxeSelenium include(Object selector);

Parámetros

Nombre Tipo Descripción
selector Object Una cadena de selector CSS, una lista de cadenas, un selector FromFrames, o un selector FromShadowDom.

Devuelve

Este AxeSelenium, para encadenar métodos.

Ejemplo

// 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 exploración usando un selector que mezcla selectores CSS simples con selectores FromFrames o FromShadowDom, para casos que las otras sobrecargas no pueden expresar. Todos los argumentos juntos forman un solo camino a un elemento; no son inclusiones separadas.

Esta sobrecarga se selecciona siempre que la llamada pase más de un argumento. Pasar un solo FromFrames o FromShadowDom selecciona include(FromFrames) o include(FromShadowDom) en su lugar.

Para alcanzar un iFrame que vive dentro de una raíz en sombra, anide el selector FromShadowDom dentro del selector FromFrames. El reverso no puede expresarse, porque FromShadowDom solo acepta cadenas.

public AxeSelenium include(Object... selector);

Parámetros

Nombre Tipo Descripción
selector Object... Un conjunto mezclado de selectores CSS y objetos de selector que forman un solo camino al elemento a probar.

Devuelve

Este AxeSelenium, para encadenar métodos.

Ejemplo

// 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)

Elimina los elementos emparejados por un selector CSS, y sus descendientes, de la exploración. Cada llamada elimina otra área, por lo que para omitir varias partes no relacionadas de la página, llame a exclude una vez por cada una. Las exclusiones se aplican además de cualquier llamada include, lo que le permite probar una región exceptuando parte de ella.

public AxeSelenium exclude(String cssSelector);

Parámetros

Nombre Tipo Descripción
cssSelector String Cualquier selector CSS válido.

Devuelve

Este AxeSelenium, para encadenar métodos.

Ejemplo

// 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>)

Elimina un elemento dentro de uno o más iFrames anidados de la exploración. Cada cadena excepto la última empareja un nivel de anidamiento de iFrame; la última empareja el elemento a omitir dentro del iFrame más interno. La lista describe un solo camino, no varios selectores.

Debido a que no hay una sobrecarga de exclude(String...), pasar más de una cadena de texto a exclude también produce un único selector de iFrame en lugar de exclusiones separadas: exclude(".iframe1", ".third-party-ad") se resuelve a exclude(Object...) y significa lo mismo que el ejemplo de abajo.

exclude(FromFrames) expresa lo mismo de manera más explícita y es la forma recomendada para nuevas pruebas.

public AxeSelenium exclude(List<String> selector);

Parámetros

Nombre Tipo Descripción
selector List\<String> Un selector CSS por nivel de anidamiento de iFrame, seguido por un selector CSS para el elemento dentro del iFrame más interno.

Devuelve

Este AxeSelenium, para encadenar métodos.

Ejemplo

// 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)

Elimina un elemento dentro de uno o más iFrames anidados de la exploración, usando un selector FromFrames explícito.

public AxeSelenium exclude(FromFrames fromFrames);

Parámetros

Nombre Tipo Descripción
fromFrames FromFrames Cada selector excepto el último empareja un nivel de anidamiento de iFrame; el último empareja el elemento a omitir dentro del iFrame más interno.

Devuelve

Este AxeSelenium, para encadenar métodos.

Ejemplo

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

exclude(FromShadowDom)

Elimina un elemento dentro de uno o más árboles DOM en sombra anidados de la exploración, usando un selector FromShadowDom explícito.

public AxeSelenium exclude(FromShadowDom fromShadowDom);

Parámetros

Nombre Tipo Descripción
fromShadowDom FromShadowDom Cada selector excepto el último empareja un anfitrión de sombra; el último empareja el elemento a omitir dentro de la raíz de sombra más interna.

Devuelve

Este AxeSelenium, para encadenar métodos.

Ejemplo

// 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)

Elimina un área de la exploración usando un selector suministrado como un solo objeto. Java selecciona esta sobrecarga solo cuando el tipo estático del argumento no es uno de los tipos anteriores, como una variable declarada como Object. Prefiera las sobrecargas tipadas.

public AxeSelenium exclude(Object selector);

Parámetros

Nombre Tipo Descripción
selector Object Una cadena de selector CSS, una lista de cadenas, un selector FromFrames, o un selector FromShadowDom.

Devuelve

Este AxeSelenium, para encadenar métodos.

Ejemplo

// 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...)

Elimina un área de la exploración usando un selector que mezcla selectores CSS simples con selectores FromFrames o FromShadowDom, para casos que las otras sobrecargas no pueden expresar. Todos los argumentos juntos forman un solo camino a un elemento; no son exclusiones separadas.

Esta sobrecarga se selecciona siempre que la llamada pase más de un argumento. Pasar un solo FromFrames o FromShadowDom selecciona exclude(FromFrames) o exclude(FromShadowDom) en su lugar.

Para alcanzar un iFrame que vive dentro de una raíz en sombra, anide el selector FromShadowDom dentro del selector FromFrames. El reverso no puede expresarse, porque FromShadowDom solo acepta cadenas.

public AxeSelenium exclude(Object... selector);

Parámetros

Nombre Tipo Descripción
selector Object... Un conjunto mezclado de selectores CSS y objetos de selector que forman un solo camino al elemento a omitir.

Devuelve

Este AxeSelenium, para encadenar métodos.

Ejemplo

// 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...)

Ejecuta solo las reglas que tienen al menos una de las etiquetas dadas, como wcag2a o best-practice. Úselo para probar contra parte de un estándar, por ejemplo solo WCAG 2.0 Nivel A, en lugar de un conjunto de reglas completo.

accordingTo y checkingOnly configuran la misma opción, así que solo la última de las dos llamadas tiene efecto. Una segunda llamada accordingTo también reemplaza las etiquetas de la primera, por lo que pase todas las etiquetas en una sola llamada.

public AxeSelenium accordingTo(String... tags);

Parámetros

Nombre Tipo Descripción
tags String... Una o más etiquetas de axe-core. Ver Descripciones de reglas para las etiquetas en cada regla.

Devuelve

Este AxeSelenium, para encadenar métodos.

Ejemplo

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

checkingOnly(String...)

Ejecuta solo las reglas nombradas y ninguna otra. Úselo para centrar una prueba en una o dos reglas, por ejemplo mientras se corrige un problema específico.

checkingOnly y accordingTo configuran la misma opción, por lo que solo tiene efecto la última de las dos llamadas. Una segunda llamada a checkingOnly también reemplaza las reglas de la primera, así que pase todos los IDs de reglas en una sola llamada.

public AxeSelenium checkingOnly(String... rules);

Parámetros

Nombre Tipo Descripción
rules String... Uno o más identificadores de reglas de axe-core. Vea Descripciones de reglas.

Devuelve

Este AxeSelenium, para encadenar métodos.

Ejemplo

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

checking(String...)

Activa las reglas nombradas además de las reglas ya seleccionadas por el conjunto de reglas o por accordingTo. Úselo para agregar una regla que los tags o el conjunto de reglas seleccionado omiten, como una regla de best-practice.

checking y skipping configuran la misma opción, por lo que solo tiene efecto la última de las dos llamadas, y una segunda llamada a checking reemplaza las reglas de la primera. Pase todos los IDs de reglas en una sola llamada, y no combine checking con skipping en el mismo escaneo.

public AxeSelenium checking(String... rules);

Parámetros

Nombre Tipo Descripción
rules String... Uno o más identificadores de reglas de axe-core. Vea Descripciones de reglas.

Devuelve

Este AxeSelenium, para encadenar métodos.

Ejemplo

// 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...)

Desactiva las reglas nombradas, dejando intactas el resto del conjunto de reglas o tags seleccionados. Úselo para desactivar completamente una regla; para eliminar la violación en un elemento y mantener los demás resultados de la regla, use ignoring en su lugar.

skipping y checking configuran la misma opción, por lo que solo tiene efecto la última de las dos llamadas, y una segunda llamada a skipping reemplaza las reglas de la primera. Pase todos los IDs de reglas en una sola llamada, y no combine skipping con checking en el mismo escaneo.

public AxeSelenium skipping(String... rules);

Parámetros

Nombre Tipo Descripción
rules String... Uno o más identificadores de reglas de axe-core. Vea Descripciones de reglas.

Devuelve

Este AxeSelenium, para encadenar métodos.

Ejemplo

// 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)

Selecciona el conjunto de auditoría (un archivo de configuración de reglas JSON) para escanear, mediante URL. Esto establece el conjunto de auditoría global en AxeConfiguration, por lo que también se aplica a todos los escaneos posteriores AxeSelenium, no solo a este.

Cuando no se establece un conjunto de auditoría, Axe DevTools utiliza el archivo nombrado por la variable de entorno AXE_RULESET_PATH o, si no está configurado, un recurso config/axe-ruleset.json en el classpath.

public AxeSelenium forConfig(URL auditConfigPath);

Parámetros

Nombre Tipo Descripción
auditConfigPath URL La URL del archivo del conjunto de auditoría.

Devuelve

Este AxeSelenium, para encadenar métodos.

Ejemplo

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

forConfig(String)

Selecciona el conjunto de auditoría para escanear, por su ruta en el sistema de archivos. Al igual que forConfig(URL), establece el conjunto de auditoría global, por lo que también se aplica a escaneos posteriores.

public AxeSelenium forConfig(String auditConfigPath) throws MalformedURLException;

Parámetros

Nombre Tipo Descripción
auditConfigPath String La ruta del sistema de archivos del archivo del conjunto de auditoría.

Devuelve

Este AxeSelenium, para encadenar métodos.

Lanza

MalformedURLException si la ruta no se puede convertir en una URL.

Ejemplo

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

AxeSelenium.forRuleset(String)

Selecciona el conjunto de reglas para escanear, como wcag2.2 o 508, con reglas de mejores prácticas desactivadas. El conjunto de reglas predeterminado es wcag2.1. Si también se configura un conjunto de auditoría, modifica el conjunto de reglas seleccionado.

Esto establece el conjunto de reglas global en AxeConfiguration, por lo que también se aplica a todos los escaneos posteriores. Vea AxeConfiguration.forRuleset(String) para la lista de IDs de conjuntos de reglas.

public AxeSelenium forRuleset(String rulesetId);

Parámetros

Nombre Tipo Descripción
rulesetId String El ID del conjunto de reglas.

Devuelve

Este AxeSelenium, para encadenar métodos.

Ejemplo

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

AxeSelenium.forRuleset(String, boolean)

Selecciona el conjunto de reglas para escanear y si también se deben ejecutar reglas de mejores prácticas. De lo contrario, se comporta como AxeSelenium.forRuleset(String), incluyendo el establecimiento del conjunto de reglas globalmente.

public AxeSelenium forRuleset(String rulesetId, boolean enableBestPractices);

Parámetros

Nombre Tipo Descripción
rulesetId String El ID del conjunto de reglas.
enableBestPractices boolean true para también ejecutar reglas de mejores prácticas.

Devuelve

Este AxeSelenium, para encadenar métodos.

Ejemplo

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

AxeSelenium.ignoring(String, String)

Elimina las violaciones de una regla de los resultados después del escaneo cuando esa regla falla en un elemento dado. La regla aún se ejecuta e informa sus aprobaciones. Una llamada por regla es suficiente, porque una coincidencia elimina toda la entrada de la regla. No la llame dos veces para la misma regla: si ambos selectores coinciden con elementos fallidos, el escaneo arroja un IllegalStateException.

El filtrado funciona en reglas completas: si algún elemento que falla la regla coincide con el selector, se elimina toda la entrada de la regla de las violaciones, incluidas las fallas en otros elementos. Para mantener esos, limite el escaneo con exclude en su lugar.

El selector debe coincidir exactamente con el target del elemento en los resultados, escrito de la forma en que Java imprime una lista: el selector objetivo dentro de corchetes, como "[#sidebar]", o "[#frame, .ad]" para un elemento dentro de un iFrame. Cópielo de los resultados de un escaneo anterior en lugar de escribirlo a mano.

public AxeSelenium ignoring(String attestSelector, String ruleId);

Parámetros

Nombre Tipo Descripción
attestSelector String El target del elemento, como aparece en los resultados.
ruleId String El ID de la regla cuya violación se ignorará.

Devuelve

Este AxeSelenium, para encadenar métodos.

Ejemplo

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

disableIframeTesting()

Impide que Axe DevTools inyecte axe-core en iFrames y que recopile resultados de ellos, por lo que solo se prueba el documento de nivel superior. Úselo cuando el contenido de iFrame esté fuera de su control o cuando la inyección en iFrames cause errores.

public AxeSelenium disableIframeTesting();

Devuelve

Este AxeSelenium, para encadenar métodos.

Ejemplo

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

setTimeout(int)

Establece cuánto tiempo, en segundos, axe-core puede analizar la página antes de que el escaneo falle por tiempo de espera. El valor predeterminado es 30 segundos. Aumente este valor para páginas muy grandes.

public AxeSelenium setTimeout(int timeout);

Parámetros

Nombre Tipo Descripción
timeout int El tiempo de espera, en segundos.

Devuelve

Este AxeSelenium, para encadenar métodos.

Ejemplo

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

logResults(AxeReportingOptions)

Escribe un informe de este escaneo cuando run se completa: un archivo .log que enumera las violaciones y un archivo .json con los resultados completos. Los nombres y la ubicación de los archivos provienen de reportingOptions; vea AxeReportingOptions. Sin esta llamada, no se escriben archivos de informe.

Si reportingOptions no tiene un número de línea configurado, Axe DevTools registra la línea de su prueba que llamó a logResults.

public AxeSelenium logResults(AxeReportingOptions reportingOptions);

Parámetros

Nombre Tipo Descripción
reportingOptions AxeReportingOptions Dónde escribir el informe y cómo describir la prueba en él.

Devuelve

Este AxeSelenium, para encadenar métodos.

Ejemplo

// 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()

Informa si logResults ha sido llamado en este AxeSelenium.

public boolean loggingConfigured();

Devuelve

true si se han configurado opciones de informe.

enableTracking(boolean)

Activa o desactiva el servicio de uso para este AxeSelenium. El servicio de uso está activado por defecto. Cuando la variable de entorno AXE_TRACK_USAGE está configurada, tiene prioridad y este método no tiene efecto: true enciende el servicio y cualquier otro valor lo apaga.

public AxeSelenium enableTracking(boolean state);

Parámetros

Nombre Tipo Descripción
state boolean true para enviar datos de uso, false para dejar de enviarlos.

Devuelve

Este AxeSelenium, para encadenar métodos.

Ejemplo

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

trackingEnabled()

Informa si este AxeSelenium envía datos de uso.

public boolean trackingEnabled();

Devuelve

true si el servicio de uso está activado.

setTrackingUrl(String)

Establece la URL a la que se envían los datos de uso. El valor predeterminado es la variable de entorno AXE_METRICS_URL, o https://usage.deque.com cuando no está configurada. Cuando AXE_METRICS_URL está configurada, este método no tiene efecto.

public AxeSelenium setTrackingUrl(String url);

Parámetros

Nombre Tipo Descripción
url String La URL del servicio de uso.

Devuelve

Este AxeSelenium, para encadenar métodos.

Ejemplo

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

setDistinctId(String)

Establece el ID único enviado con los datos de uso, lo que permite que el servicio de uso agrupe los eventos de un usuario o máquina. El ID se guarda en ~/.deque/distinct_id, por lo que en ejecuciones posteriores en la misma máquina se sigue utilizando. Cuando el ID proviene de la variable de entorno AXE_DISTINCT_ID, este método no tiene efecto.

public AxeSelenium setDistinctId(String id);

Parámetros

Nombre Tipo Descripción
id String El ID único.

Devuelve

Este AxeSelenium, para encadenar métodos.

Ejemplo

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

setAnalyticsComponentName(String)

Establece el nombre del proyecto enviado con los datos de uso. Esto también restaura cualquier setTrackingUrl y enableTracking anteriores llamadas en este AxeSelenium a sus valores predeterminados, así que llámelo antes de esos métodos. Se conserva un ID único establecido con setDistinctId.

public AxeSelenium setAnalyticsComponentName(String name);

Parámetros

Nombre Tipo Descripción
name String El nombre del proyecto.

Devuelve

Este AxeSelenium, para encadenar métodos.

Ejemplo

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

com.deque.html.axecore.args.FromFrames

Un selector que apunta a un elemento dentro de uno o más iFrames anidados. Páselo a include o exclude en AxeSelenium.

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

FromFrames(Object...)

Crea un selector FromFrames a partir de una ruta a través de iFrames anidados hasta un elemento.

public FromFrames(Object... selectors);

Parámetros

Nombre Tipo Descripción
selectors Object... Un selector por nivel de anidación de iFrame, seguido de un selector para el elemento dentro del iFrame más interno. Cada entrada es una cadena de selector CSS, o un selector FromShadowDom cuando el iFrame en sí se encuentra dentro de un shadow root.

Ejemplo

// 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()

Devuelve los selectores que componen la ruta a través de los iFrames anidados.

public List<Object> getFromFrames();

Devuelve

Los selectores, como un List\<Object>.

setFromFrames(Object...)

Reemplaza los selectores que componen la ruta a través de los iFrames anidados.

public void setFromFrames(Object... fromFrames);

Parámetros

Nombre Tipo Descripción
fromFrames Object... La nueva ruta, en la misma forma que toma el constructor.

Ejemplo

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

com.deque.html.axecore.args.FromShadowDom

Un selector que apunta a un elemento dentro de uno o más árboles DOM sombríos anidados. Páselo a include o exclude en AxeSelenium.

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

FromShadowDom(String...)

Crea un selector FromShadowDom a partir de una ruta a través de raíces sombrías anidadas hasta un elemento.

public FromShadowDom(String... selectors);

Parámetros

Nombre Tipo Descripción
selectors String... Un selector por host de sombra, seguido de un selector para el elemento dentro de la raíz de sombra más interna.

Ejemplo

// 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()

Devuelve los selectores que conforman el camino a través de las raíces de sombra anidadas.

public List<String> getFromShadowDom();

Devuelve

Los selectores, como un List\<String>.

setFromShadowDom(String...)

Reemplaza los selectores que conforman el camino a través de las raíces de sombra anidadas.

public void setFromShadowDom(String... fromShadowDom);

Parámetros

Nombre Tipo Descripción
fromShadowDom String... La nueva ruta, en la misma forma que toma el constructor.

Ejemplo

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

com.deque.html.axedevtools.selenium.AxeDriver

Envuelve un Selenium WebDriver para que Axe DevTools pueda inyectar axe-core en la página que controla. Cada AxeSelenium escaneo, y cada comparador Hamcrest, toma un AxeDriver. Siga usando su WebDriver para navegar e interactuar con la página.

AxeDriver(WebDriver)

Crea un AxeDriver para un Selenium WebDriver.

public AxeDriver(WebDriver webDriver);

Parámetros

Nombre Tipo Descripción
webDriver WebDriver El Selenium WebDriver que controla la página a verificar.

Ejemplo

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 configuraciones que se aplican a cada escaneo en la ejecución de la prueba: el script de axe-core, el conjunto de auditorías, el conjunto de reglas y los valores predeterminados utilizados en los informes. Hay una instancia compartida, que se obtiene con AxeConfiguration.configure(). Configúrelo una vez, antes de que se ejecuten las pruebas.

Métodos en AxeSelenium como forRuleset y forConfig también cambian esta instancia compartida.

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

configure()

Devuelve la instancia compartida AxeConfiguration. Este método estático es la única forma de obtener un AxeConfiguration.

public static AxeConfiguration configure();

Devuelve

El AxeConfiguration compartido.

Ejemplo

AxeConfiguration config = AxeConfiguration.configure();

reset()

Reemplaza la configuración compartida con una nueva que tiene configuraciones predeterminadas. Úselo entre clases de prueba que necesitan diferentes configuraciones globales. Un AxeConfiguration obtenido antes de llamar a reset mantiene sus configuraciones antiguas, por lo que debe llamar nuevamente a configure() después.

public static void reset();

Ejemplo

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

forAuditSuite(URL)

Selecciona el conjunto de auditorías (un archivo de configuración de reglas JSON) para cada escaneo, por URL. Cuando no se establece un conjunto de auditorías, Axe DevTools utiliza el archivo nombrado por la variable de entorno AXE_RULESET_PATH o, si no se ha establecido, un recurso config/axe-ruleset.json en el classpath.

public AxeConfiguration forAuditSuite(URL auditConfigPath);

Parámetros

Nombre Tipo Descripción
auditConfigPath URL La URL del archivo del conjunto de auditoría.

Devuelve

Este AxeConfiguration, para encadenar métodos.

Ejemplo

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

forAuditSuite(String)

Selecciona el conjunto de auditorías para cada escaneo, por su ruta en el sistema de archivos.

public AxeConfiguration forAuditSuite(String auditConfigPath) throws MalformedURLException;

Parámetros

Nombre Tipo Descripción
auditConfigPath String La ruta del sistema de archivos del archivo del conjunto de auditoría.

Devuelve

Este AxeConfiguration, para encadenar métodos.

Lanza

MalformedURLException si la ruta no se puede convertir en una URL.

Ejemplo

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

withAxeScript(URL)

Selecciona el script de axe-core para inyectar en la página, en lugar del que viene incluido con Axe DevTools. Utilícelo para fijar una versión específica de axe-core.

public AxeConfiguration withAxeScript(URL axeScript);

Parámetros

Nombre Tipo Descripción
axeScript URL La URL del script de axe-core.

Devuelve

Este AxeConfiguration, para encadenar métodos.

Ejemplo

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

AxeConfiguration.forRuleset(String)

Selecciona el conjunto de reglas para cada escaneo, con las reglas de mejores prácticas desactivadas. El conjunto de reglas predeterminado es wcag2.1.

public AxeConfiguration forRuleset(String rulesetId);

Parámetros

Nombre Tipo Descripción
rulesetId String Uno de los IDs de conjunto de reglas a continuación.

Los IDs de conjunto de reglas son:

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

Devuelve

Este AxeConfiguration, para encadenar métodos.

Ejemplo

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

AxeConfiguration.forRuleset(String, boolean)

Selecciona el conjunto de reglas para cada escaneo, y si también se ejecutarán las reglas de mejores prácticas.

public AxeConfiguration forRuleset(String rulesetId, boolean enableBestPractices);

Parámetros

Nombre Tipo Descripción
rulesetId String Vea AxeConfiguration.forRuleset(String) para los IDs de conjunto de reglas.
enableBestPractices boolean true para también ejecutar reglas de mejores prácticas.

Devuelve

Este AxeConfiguration, para encadenar métodos.

Ejemplo

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

getTestSuiteName()

Devuelve el nombre del conjunto de pruebas predeterminado usado en los informes. El valor predeterminado es axe-run.

public String getTestSuiteName();

AxeConfiguration.testSuiteName(String)

Establece el nombre del conjunto de pruebas predeterminado usado en los nombres de archivo de informes y contenido de informes. Un valor AxeReportingOptions.testSuiteName(String) lo anula para un informe.

public AxeConfiguration testSuiteName(String testSuiteName);

Parámetros

Nombre Tipo Descripción
testSuiteName String El nombre del conjunto de pruebas.

Devuelve

Este AxeConfiguration, para encadenar métodos.

Ejemplo

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

AxeConfiguration.getOutputDirectory()

Devuelve el directorio predeterminado al que se escriben los informes. El valor predeterminado es axe-reports.

public String getOutputDirectory();

AxeConfiguration.outputDirectory(String)

Establece el directorio predeterminado al que se escriben los informes. Los directorios que faltan se crean cuando se escribe un informe. Un valor AxeReportingOptions.outputDirectory(String) lo anula para un informe.

public AxeConfiguration outputDirectory(String outputDirectory);

Parámetros

Nombre Tipo Descripción
outputDirectory String La ruta del directorio.

Devuelve

Este AxeConfiguration, para encadenar métodos.

Ejemplo

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

AxeConfiguration.getUserAgent()

Devuelve el agente de usuario predeterminado registrado en los informes, o null si no se ha establecido ninguno.

public String getUserAgent();

AxeConfiguration.userAgent(String)

Establece el agente de usuario predeterminado registrado en los informes. Es solo una etiqueta y no cambia el agente de usuario que envía el navegador. Un valor AxeReportingOptions.userAgent(String) lo anula para un informe.

public AxeConfiguration userAgent(String userAgent);

Parámetros

Nombre Tipo Descripción
userAgent String El agente de usuario a registrar.

Devuelve

Este AxeConfiguration, para encadenar métodos.

Ejemplo

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

AxeConfiguration.getTestMachine()

Devuelve el nombre de la máquina de prueba predeterminado registrado en los informes, o null si no se ha establecido ninguno.

public String getTestMachine();

AxeConfiguration.testMachine(String)

Establece el nombre de la máquina de prueba predeterminado registrado en los informes. Un valor AxeReportingOptions.testMachine(String) lo anula para un informe.

public AxeConfiguration testMachine(String testMachine);

Parámetros

Nombre Tipo Descripción
testMachine String El nombre de la máquina de prueba.

Devuelve

Este AxeConfiguration, para encadenar métodos.

Ejemplo

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

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

Describe un informe: dónde escribirlo, y el conjunto de pruebas, estado de la interfaz de usuario, agente de usuario, máquina de prueba y número de línea para registrarlo. Páselo a logResults. Implementa ReportingOptions.

Cualquier valor que no establezca recae en la configuración correspondiente de AxeConfiguration. Los archivos de informe se nombran <test suite name>-<UI state>.log y .json, así que dé a cada verificación en un conjunto de pruebas su propio estado de interfaz de usuario, o el informe posterior sobrescribirá al anterior.

AxeReportingOptions()

Crea un AxeReportingOptions sin valores establecidos, por lo que cada valor proviene de AxeConfiguration hasta que lo configure. El estado de la interfaz de usuario no tiene valor predeterminado y debe establecerse antes de que se escriba un informe.

public AxeReportingOptions();

Ejemplo

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

defaultAuditReportingOptions()

Devuelve nuevas opciones con el directorio de salida target/axe-report, el nombre del conjunto de pruebas accessibility y el estado de la interfaz de usuario check, para que el informe se escriba en target/axe-report/accessibility-check.log y .json. Estas son las opciones que el comparador Hamcrest isAuditedForAccessibility() usa cuando no llama a logResults.

public static AxeReportingOptions defaultAuditReportingOptions();

Devuelve

Un nuevo AxeReportingOptions.

Ejemplo

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

getSuiteTestName()

Devuelve el nombre del conjunto de pruebas para este informe, o el valor predeterminado de AxeConfiguration si no se ha establecido ninguno.

public String getSuiteTestName();

AxeReportingOptions.testSuiteName(String)

Establece el nombre del conjunto de pruebas para este informe. Es la primera parte de los nombres de archivo del informe.

public AxeReportingOptions testSuiteName(String testSuiteName);

Parámetros

Nombre Tipo Descripción
testSuiteName String El nombre del conjunto de pruebas.

Devuelve

Este AxeReportingOptions, para encadenar métodos.

Ejemplo

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

getUiState()

Devuelve el estado de la interfaz de usuario para este informe.

public String getUiState();

Lanza

MissingUIStateException si no se ha establecido ningún estado de la interfaz de usuario.

uiState(String)

Establece el estado de la interfaz de usuario para este informe: un nombre corto para lo que parecía la página cuando se verificó, como menu-open o form-errors. Es la segunda parte de los nombres de archivo del informe, y es obligatorio: escribir un informe sin él arroja MissingUIStateException.

public AxeReportingOptions uiState(String uiState);

Parámetros

Nombre Tipo Descripción
uiState String El nombre del estado de la interfaz de usuario.

Devuelve

Este AxeReportingOptions, para encadenar métodos.

Ejemplo

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

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

AxeReportingOptions.getOutputDirectory()

Devuelve el directorio al que se escribe este informe, o el valor predeterminado de AxeConfiguration si no se ha establecido ninguno.

public String getOutputDirectory();

AxeReportingOptions.outputDirectory(String)

Establece el directorio al que se escribe este informe. Los directorios que faltan se crean cuando se escribe el informe.

public AxeReportingOptions outputDirectory(String outputDirectory);

Parámetros

Nombre Tipo Descripción
outputDirectory String La ruta del directorio.

Devuelve

Este AxeReportingOptions, para encadenar métodos.

Ejemplo

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

getFileName()

Devuelve el nombre del archivo de informe sin una extensión: el nombre del conjunto de pruebas y el estado de la interfaz de usuario unidos por un guion, seguidos de una marca de tiempo si useUniqueFilename está activado.

public String getFileName();

getFilePath(String)

Devuelve la ruta completa de un archivo de informe: el directorio de salida, un /, el nombre de archivo y extension.

public String getFilePath(String extension);

Parámetros

Nombre Tipo Descripción
extension String La extensión del archivo, incluyendo el punto inicial, como .json.

Devuelve

La ruta del archivo.

Ejemplo

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

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

useUniqueFilename(boolean)

Agrega una marca de tiempo UTC a los nombres de los archivos de informe, de modo que cuando se ejecute el mismo chequeo nuevamente se creen nuevos archivos en lugar de sobrescribir el informe anterior.

Este método devuelve la interfaz ReportingOptions en lugar de AxeReportingOptions, así que llámalo como una declaración separada, como en el ejemplo, en lugar de en una cadena que asignes a un AxeReportingOptions o pases a logResults. Los nombres de los archivos .log y .json se generan por separado, por lo que sus marcas de tiempo pueden diferir ligeramente.

public ReportingOptions useUniqueFilename(boolean uniqueFilename);

Parámetros

Nombre Tipo Descripción
uniqueFilename boolean true para agregar una marca de tiempo a los nombres de archivos.

Devuelve

Este objeto, tipeado como ReportingOptions.

Ejemplo

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

AxeReportingOptions.getUserAgent()

Devuelve el agente de usuario registrado en este informe, o el valor predeterminado AxeConfiguration si no se establece ninguno.

public String getUserAgent();

AxeReportingOptions.userAgent(String)

Establece el agente de usuario registrado en este informe. Es solo una etiqueta y no cambia el agente de usuario que envía el navegador.

public AxeReportingOptions userAgent(String userAgent);

Parámetros

Nombre Tipo Descripción
userAgent String El agente de usuario a registrar.

Devuelve

Este AxeReportingOptions, para encadenar métodos.

Ejemplo

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

AxeReportingOptions.getTestMachine()

Devuelve el nombre de la máquina de prueba registrado en este informe, o el valor predeterminado AxeConfiguration si no se establece ninguno.

public String getTestMachine();

AxeReportingOptions.testMachine(String)

Establece el nombre de la máquina de prueba registrado en este informe.

public AxeReportingOptions testMachine(String testMachine);

Parámetros

Nombre Tipo Descripción
testMachine String El nombre de la máquina de prueba.

Devuelve

Este AxeReportingOptions, para encadenar métodos.

Ejemplo

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

getLineNum()

Devuelve el número de línea de prueba registrado en este informe, o null si no se establece ninguno.

public String getLineNum();

lineNum(String)

Establece el número de línea de prueba registrado en este informe, reemplazando cualquier valor ya establecido. Rara vez lo necesitas: logResults registra automáticamente la línea que llama cuando no se establece un número de línea.

public AxeReportingOptions lineNum(String lineNum);

Parámetros

Nombre Tipo Descripción
lineNum String El número de línea.

Devuelve

Este AxeReportingOptions, para encadenar métodos.

Ejemplo

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

lineNumIfEmpty(String)

Establece el número de línea de prueba solo si aún no se ha establecido. logResults lo utiliza para registrar la línea de llamada sin sobrescribir un valor que estableciste con lineNum.

Este método devuelve la interfaz ReportingOptions en lugar de AxeReportingOptions, así que llámalo como una declaración separada en lugar de en una cadena que asignes a un AxeReportingOptions o pases a logResults.

public ReportingOptions lineNumIfEmpty(String lineNum);

Parámetros

Nombre Tipo Descripción
lineNum String El número de línea.

Devuelve

Este objeto, tipeado como ReportingOptions.

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

Un RuntimeException lanzado cuando se escribe un informe con opciones de informe que no tienen estado de UI, con el mensaje "Por favor, proporcione el estado de UI de la página actual en prueba". Para evitarlo, llama a uiState en cada AxeReportingOptions que pases a logResults.

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

Contiene los pares de elemento y regla para eliminar de los resultados. Cada AxeSelenium crea su propio ResultsFilter, al cual puedes añadir con AxeSelenium.ignoring(String, String) en lugar de crear uno tú mismo. También puedes usar un ResultsFilter directamente para filtrar un objeto Results que ya tienes.

filterIgnoredViolations(Results)

Elimina las violaciones ignoradas de results. La entrada completa de una regla se elimina de las violaciones cuando el ID de la regla coincide y cualquiera de sus nodos tiene un target igual a un selector ignorado, incluso si otros nodos no coinciden. El objeto Results que ingresas es modificado y devuelto.

public Results filterIgnoredViolations(Results results);

Parámetros

Nombre Tipo Descripción
results Results Los resultados a filtrar.

Devuelve

El mismo objeto Results, con las violaciones ignoradas eliminadas.

Ejemplo

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

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

ResultsFilter.ignoring(String, String)

Agrega un par de elemento y regla para ignorar. El selector debe coincidir exactamente con el target de un nodo, en la forma "[#sidebar]"; ver AxeSelenium.ignoring(String, String).

public ResultsFilter ignoring(String cssSelector, String ruleId);

Parámetros

Nombre Tipo Descripción
cssSelector String El target del elemento, como aparece en los resultados.
ruleId String El ID de la regla cuya violación se ignorará.

Devuelve

Este ResultsFilter, para encadenar métodos.

Ejemplo

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

com.deque.html.axedevtools.reporter.AxeDevtoolsReporter

Escribe los archivos de informe .log y .json para un escaneo. AxeSelenium y los matchers de Hamcrest lo utilizan por ti cuando llamas a logResults; úsalo directamente solo para informar sobre Results que ya tienes.

AxeDevtoolsReporter()

Crea un AxeDevtoolsReporter.

public AxeDevtoolsReporter();

Ejemplo

AxeDevtoolsReporter reporter = new AxeDevtoolsReporter();

generateReport(Results, String)

Devuelve un resumen en texto plano de las violaciones en results: el texto de ayuda y URL de cada regla, el objetivo de cada nodo afectado y las comprobaciones para corregir, seguido del comando que produjo los resultados. Este es el texto escrito en el archivo .log, y el texto que el matcher Hamcrest isAxeClean() muestra cuando una aserción falla.

public String generateReport(Results results, String executedCommand);

Parámetros

Nombre Tipo Descripción
results Results Los resultados del escaneo.
executedCommand String El texto del comando a incluir en el informe, por ejemplo, desde runCommand().

Devuelve

El texto del informe.

Ejemplo

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)

Escribe el informe para results en dos archivos en la ruta dada por reportingOptions: un archivo .log con el texto generateReport y un archivo .json con los resultados completos. Si reportingOptions es null, no se escribe nada.

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

Parámetros

Nombre Tipo Descripción
reportingOptions ReportingOptions Dónde escribir el informe, generalmente un AxeReportingOptions.
results Results Los resultados del escaneo.
executedCommand String El comando que produjo los resultados.

Lanza

MissingUIStateException si reportingOptions no tiene estado de UI, o un RuntimeException si no se pueden escribir los archivos.

Ejemplo

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

Ayudantes de archivo que Axe DevTools usa internamente para leer y escribir archivos de informe. No está destinado para uso en tus pruebas.