Referencia de API para Selenium
Referencia de API para AxeSelenium, AxeConfiguration y las clases relacionadas de selector, informes y resultados en Axe DevTools para Web Java
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.RuntimeExceptioncuando la exploración en sí falla, por ejemplo cuandoaxe.finishRunfalla 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:
wcag2wcag2.1wcag2.2wcag2aaawcag2.1aaawcag2.2aaa508ttv5en301549rgaav4
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.jsonuseUniqueFilename(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.
