Referencia de API de C#
Clases C# de Axe DevTools
Esta página documenta las clases que componen axe DevTools C#
class Deque.AxeDevtools.Selenium.AxeSelenium
La interfaz para axe. Contiene configuraciones para cambiar el funcionamiento de axe, así como la capacidad de ejecutarlo.
Campo estático | Tipo | Descripción |
---|---|---|
defaultAxeSource | string | La cadena default axe-core que se utilizará. |
AxeSelenium(OpenQA.Selenium.Remote.RemoteWebDriver, Configuración del informe?, cadena)
Crea un nuevo objeto AxeSelenium para una página con una configuración específica.
Parámetro | Descripción |
---|---|
controlador web | Objeto Selenium de la página a probar. Debe estar listo para la prueba. |
reportConfiguration | Configuración para diversa información específica para el informe. El valor predeterminado es ReportConfiguration.GetDefault() |
axeSource | código fuente de axe-core a utilizar. El valor predeterminado es AxeSelenium.defaultAxeSource |
Resultados del informeAnalizar()
Ejecutar axe en la página.
Devuelve: El informe de la ejecución de axe-core en la página.
var report = new AxeSelenium(driver).Analyze();
AxeSelenium Configurar(Spec)
Configurar axe. Hecho a través de axe.configure
Parámetro | Descripción |
---|---|
spec | Objeto de especificación a pasar. |
Devuelve: Este objeto para encadenar.
var spec = new Spec.Spec {
Checks = new Spec.Check[] {
new Spec.Check() {
Id = "dylang",
Options = (object) new string[] { "dylan" },
Evaluate = @"function (node, options) {
var lang = (node.getAttribute('lang') || '').trim().toLowerCase();
var xmlLang = (node.getAttribute('xml:lang') || '').trim().toLowerCase();
var invalid = [];
(options || []).forEach(function(cc) {
cc = cc.toLowerCase();
if (lang && (lang === cc || lang.indexOf(cc.toLowerCase() + '-') === 0)) {
lang = null;
}
if (xmlLang && (xmlLang === cc || xmlLang.indexOf(cc.toLowerCase() + '-') === 0)) {
xmlLang = null;
}
});
if (xmlLang) {
invalid.push('xml:lang='' + xmlLang + ''');
}
if (lang) {
invalid.push('lang='' + lang + ''');
}
if (invalid.length) {
this.data(invalid);
return true;
}
return false;
}"
}
},
Rules = new Spec.Rule[] {
new Spec.Rule() {
Id = "dylang",
Selector = "html",
Tags = new string[] { "wcag2aa" },
All = new string[0],
Any = new string[0],
None = new string[] { "dylang" }
}
}
};
var report = new AxeSelenium(driver)
.Configure(spec)
.Analyze()
AxeSeleniumDeshabilitarReglas(string[])
Deshabilitar algunas reglas al ejecutar Axe.
Parámetro | Descripción |
---|---|
reglas | Lista de identificadores de reglas. |
Devuelve: Este objeto para encadenar.
var report = new AxeSelenium(driver)
.DisablingRules("html-has-lang", "label")
.Analyze()
AxeSeleniumExcluir(string[])
Especifique la parte de la página que desea excluir al ejecutar axe.
Parámetro | Descripción |
---|---|
selector | Lista de selectores CSS para elementos. |
Devuelve: Este objeto para encadenar.
var report = new AxeSelenium(driver)
.Excluding(".third-party-ad", ".iframe1")
.Analyze()
AxeSeleniumIncluir(string[])
Especifique la parte de la página donde se ejecutará axe.
Parámetro | Descripción |
---|---|
selector | Lista de selectores CSS para elementos. |
Devuelve: Este objeto para encadenar.
var report = new AxeSelenium(driver)
.Including(".sidebar", ".some-class")
.Analyze()
AxeSelenium Opciones de ejecución(Opciones de ejecución)
Especifique RunOptions
para pasar a axe al llamar a axe.run
.
Parámetro | Descripción |
---|---|
opciones | Objeto a pasar |
Devuelve: Este objeto para encadenar.
var options = new RunOptions.RunOptions {
IFrames = false,
RunOnly = RunOptions.RunOnly.Tags(RunOptions.TagType.Wcag2a)
};
var report = new AxeSelenium(driver)
.RunOptions(options)
.Analyze()
AxeSeleniumWithConfigFile(string)
Establece dónde encontrar un archivo de configuración. La ruta predeterminada es config/axe-ruleset.json
o $AXE_RULESET_PATH
.
Parámetro | Descripción |
---|---|
path | Ruta al archivo de configuración. |
Devuelve: Este objeto para encadenar.
var report = new AxeSelenium(driver)
.WithConfigFile("path/to/file.json")
.Analyze();
AxeSeleniumWithRules(string[])
Especifique las reglas (por id) que se utilizarán al ejecutar axe.
Parámetro | Descripción |
---|---|
reglas | Lista de identificadores de reglas. |
Devuelve: Este objeto para encadenar.
var report = new AxeSelenium(driver)
.WithRules("document-title", "label")
.WithRules("html-has-lang")
.Analyze()
AxeSeleniumWithRuleset(string, bool)
Utilice un conjunto de reglas específico (es decir, wcag2.1
, 508
).
Parámetro | Descripción |
---|---|
rulesetId | Id del conjunto de reglas a utilizar. |
enableBestPractices | Si activar o no las reglas etiquetadas best-practice . El valor predeterminado es false |
Devuelve: Este objeto para encadenar.
var report = new AxeSelenium(driver)
.WithRuleset("508", true)
.Analyze()
AxeSelenium WithTags(TagType[])
Especifique las reglas (por etiqueta) que se utilizarán al ejecutar axe.
Parámetro | Descripción |
---|---|
tags | Lista de etiquetas de reglas. |
Devuelve: Este objeto para encadenar.
var report = new AxeSelenium(driver)
.WithTags(RunTagType.BestPractice)
.Analyze()
Variables de entorno
Este método permite a los usuarios cambiar valores específicos del servicio de utilización a través de variables de entorno.
Variable ambiental | Tipo |
---|---|
AXE_IS_LOGGED_IN | Booleano |
AXE_KEYCLOAK_ID | Cadena |
AXE_USER_ID | Cadena |
AXE_SESSION_ID | Cadena |
AXE_USER_STATUS | Cadena |
AXE_USER_JOB_ROLE | Cadena |
AXE_DISTINCT_ID | Cadena |
AXE_IS_DEV_INSTANCE | Booleano |
AXE_ORGANIZACIÓN | Cadena |
APLICACIÓN AXE | Cadena |
AXE_METRICS_URL | Cadena |
AXE_TRACK_USAGE | Booleano |
AxeSeleniumHabilitar seguimiento(bool)
Elija si desea o no enviar datos al servicio de uso.
Parámetro | Descripción |
---|---|
estado | Si el seguimiento está habilitado |
Devuelve: Este objeto para encadenar.
AxeSeleniumSetTrackingUrl(cadena)
Establezca dónde se envían los datos de las métricas de uso. El valor predeterminado es https://usage.deque.com
Parámetro | Descripción |
---|---|
url | URL donde será enviado |
Devuelve: Este objeto para encadenar.
AxeSeleniumSetDistinctId(cadena)
Establezca una identificación distinta que se utilizará al enviar métricas de uso.
Parámetro | Descripción |
---|---|
id | UUID para enviar como id distinto |
Devuelve: Este objeto para encadenar.
class Deque.AxeDevtools.Selenium.ReportConfiguration
Configura información específica del informe, como el nombre del conjunto de pruebas o la información del agente de usuario.
Campo estático | Campo | Descripción |
---|---|---|
TIMESTAMP_FORMAT | cadena | Formato de marcas de tiempo en los informes. |
estática ReportConfigurationGetDefault()
Obtiene la configuración predeterminada actual. Tenga en cuenta que la configuración predeterminada se puede cambiar.
Devuelve: el valor predeterminado actual.
static void ResetDefault()
Restablece el valor predeterminado a su estado inicial.
void SetAsDefault()
Establece este objeto como predeterminado.
ReportConfiguration.GetDefault()
.TestSuiteName("my-tests")
.UIState("home-page")
.SetAsDefault();
ReportConfigurationTestMachine(string)
Establece la máquina en la que se ejecutaron estas pruebas.
Parámetro | Descripción |
---|---|
testMachine | Id de la máquina. |
Devuelve: Este objeto para encadenar.
Configuración del informeTestSuiteName(cadena)
Establece el nombre del conjunto de pruebas.
Parámetro | Descripción |
---|---|
nombre | Nombre. |
Devuelve: Este objeto para encadenar.
ReportConfigurationUIState(cadena)
Especifique el ui-state para este conjunto de pruebas. Utilizado como identificación.
Parámetro | Descripción |
---|---|
id | Identificación del estado. |
Devuelve: Este objeto para encadenar.
ReportConfigurationUserAgent(cadena)
Establezca el agente de usuario utilizado durante la prueba.
Parámetro | Descripción |
---|---|
userAgent | Cadena de agente de usuario. |
Devuelve: Este objeto para encadenar.
class Deque.AxeDevtools.Selenium.Results.Check
El resultado de ejecutar una comprobación de axe.
Campo | Tipo | Descripción |
---|---|---|
Datos | objeto | Información adicional específica del tipo de Check, que es opcional. Por ejemplo, una verificación de contraste de color incluiría el color de primer plano, el color de fondo, la relación de contraste, etc. |
Id | string | Identificador único para esta comprobación. Los identificadores de verificación pueden ser los mismos que los identificadores de regla. |
Impacto | string | Qué tan seria es esta verificación en particular. Puede ser "menor", "moderado", "grave" o "crítico". Cada verificación que forma parte de una regla puede tener diferentes impactos. Para la regla, se informa el mayor impacto de todas las comprobaciones que fallan. |
Mensaje | cadena de texto | Descripción de por qué esta verificación se aprobó o falló. |
RelatedNodes | List<Node> | Matriz opcional de información sobre otros nodos relacionados con esta comprobación. Por ejemplo, una violación de prueba de identificación duplicada enumeraría los otros selectores que tenían la misma identificación duplicada. |
class Deque.AxeDevtools.Selenium.Results.CheckedNode
Un nodo HTML que fue comprobado por una regla.
Campo | Tipo | Descripción |
---|---|---|
All | Lista<Verificación> | Lista de verificaciones que se realizaron, donde todas deben haber pasado. |
Cualquiera | Lista<Verificación> | Lista de verificaciones que se realizaron, donde al menos una debe haber pasado. |
Impacto | cadena | Qué tan grave es la infracción. Puede ser "menor", "moderado", "grave" o "crítico" si la prueba falló, o nulo si la prueba pasó. |
Ninguno | Lista<Verificación> | Lista de verificaciones que se realizaron, donde ninguna debe haber pasado. |
class Deque.AxeDevtools.Selenium.Results.Node
Especifica un nodo HTML específico.
Campo | Tipo | Descripción |
---|---|---|
Html | string | Fragmento de HTML del elemento. |
Target | Objeto | Matriz de cadenas o matrices de cadenas. Si el elemento de la matriz es una cadena, entonces es un selector CSS. Si hay varios elementos en la matriz, cada elemento corresponde a un nivel de iframe o marco. Si hay un iframe o marco, debe haber dos entradas en el objetivo. Si hay tres niveles de iframe, debería haber cuatro entradas en el objetivo. Si el elemento de la matriz es una matriz de cadenas, entonces apunta a un elemento en un shadow DOM y cada elemento (excepto el n-1) de esta matriz es un selector de un elemento DOM con un shadow DOM. El último elemento en el array apunta al nodo DOM de sombra final. |
class Deque.AxeDevtools.Selenium.Results.Platform
La plataforma en la que se ejecutó una prueba.
Campo | Tipo | Descripción |
---|---|---|
TestMachine | string | Id de la máquina en la que se ejecutó la prueba. |
UserAgent | string | User agent en el que se ejecutó la prueba. |
class Deque.AxeDevtools.Selenium.Results.ReportResults
Resultados de una prueba que sean compatibles con el formato del generador de informes.
var axe = new AxeSelenium(driver, ReportConfiguration.GetDefault().UIState("UIState"));
var res = axe.Analyze();
File.WriteAllText(reportPath, JsonConvert.SerializeObject(res));
Campo | Tipo | Descripción |
---|---|---|
EndTime | string | Cuando la prueba se completó. |
Hallazgos | Resultados de la prueba | Resultados de Axe. |
Id | string | Id para la ejecución de la prueba. |
Nombre | cadena | Nombre de la ejecución de la prueba. |
Plataforma | Plataforma | Información sobre la plataforma en la que se ejecutó la prueba. |
TestSubject | TestSubject | Información sobre dónde se ejecutó la prueba (por ejemplo, la URL de la página web). |
Tipo | string | Tipo de informe. Es siempre "attest-result". |
class Deque.AxeDevtools.Selenium.Results.Rule
Resultado para una sola regla.
Campo | Tipo | Descripción |
---|---|---|
CreatedDate | string | La fecha y hora en que se completó el análisis. |
Descripción | string | Cadena de texto que describe lo que hace la regla. |
Ayuda | string | Texto de ayuda que describe la prueba que se realizó. |
HelpUrl | string | URL que proporciona más información sobre los detalles de la infracción. Enlaces a una página en el sitio de la Universidad Deque. |
Id | string | Identificador único de la regla. |
Impacto | cadena | Qué tan grave es la infracción. Puede ser "menor", "moderado", "grave" o "crítico" si la regla falló, o nulo si la verificación pasó. |
Nodos | Lista<CheckedNode> | Arreglo de todos los elementos que la regla probó. |
Tags | List<string> | Arreglo de etiquetas a las que está asignada esta regla. Estas etiquetas se pueden utilizar en la estructura de opciones para seleccionar qué reglas se ejecutan. |
Url | string | La URL de la página que se probó. |
class Deque.AxeDevtools.Selenium.Results.TestEngine
Información sobre el motor Axe-Core en el que se ejecutó la prueba.
Campo | Tipo | Descripción |
---|---|---|
Nombre | string | Nombre del motor. |
Versión | string | Número de versión del motor. |
class Deque.AxeDevtools.Selenium.Results.TestEnvironment
Información sobre el entorno en el que se realizó la prueba.
Campo | Tipo | Descripción |
---|---|---|
OrientationAngle | double? | Ángulo de orientación de la pantalla. (p. ej. 0) |
OrientationType | string | Tipo de orientación de la pantalla. |
UserAgent | string | Agente de usuario del navegador en el que se ejecutó la prueba. |
WindowHeight | int | Altura de la ventana. |
WindowWidth | int | Ancho de la ventana. |
class Deque.AxeDevtools.Selenium.Results.TestResults
Resultados devueltos al ejecutar axe en la página.
Campo | Tipo | Descripción |
---|---|---|
Inaplicable | Lista<Regla> | Estos resultados fueron abortados y requieren más pruebas. Esto puede suceder debido a restricciones técnicas sobre lo que la regla puede probar o porque se produjo un error de JavaScript. |
Incompleto | Lista<Regla> | Estos resultados indican qué reglas no se ejecutaron porque no se encontró contenido coincidente en la página. Por ejemplo, sin vídeo, esas reglas no se ejecutarán. |
Aprobados | Lista<Regla> | Estos resultados indican qué elementos pasaron las reglas. |
TestEngine | TestEngine | Información sobre el motor axe-core utilizado en la prueba. |
TestEnvironment | TestEnvironment | Información sobre el entorno en el que se realizó la prueba. |
TestRunner | TestRunner | Nombre del runner de pruebas. |
Timestamp | string | La fecha y hora en que se completó el análisis. |
ToolOptions | objeto | Opciones aplicadas durante el testeo. |
Url | string | La URL de la página que se probó. |
Violaciones | Lista<Regla> | Estos resultados indican qué elementos no cumplieron las reglas. |
class Deque.AxeDevtools.Selenium.Results.TestRunner
Nombre del ejecutor de pruebas.
Campo | Tipo | Descripción |
---|---|---|
Nombre | cadena de texto | El nombre. |
class Deque.AxeDevtools.Selenium.Results.TestSubject
Información sobre lo que se está probando.
Campo | Tipo | Descripción |
---|---|---|
FileName | string | Nombre de archivo del sitio bajo prueba. (Puede ser una URL.) |
LineNum | int | Número de línea del test. |
Estado | string | Estado del archivo. |
class Deque.AxeDevtools.Selenium.RunOptions.Context
Especifique qué elemento se debe probar y cuál no.
void Excluding(string[])
Agregue un conjunto de selectores para los elementos que no se deben probar.
Parámetro | Descripción |
---|---|
exclude | Conjunto de selectores CSS. |
void Including(string[])
Agregue un conjunto de selectores para los elementos que deben probarse.
Parámetro | Descripción |
---|---|
include | Conjunto de selectores CSS. |
enum Deque.AxeDevtools.Selenium.RunOptions.ResultGroup
- Pruebas superadas
- Violaciones
- Incompleto
- Inaplicable
class Deque.AxeDevtools.Selenium.RunOptions.RuleStatus
Habilita o deshabilita una regla.
Campo | Tipo | Descripción |
---|---|---|
Habilitado | bool | Si está habilitado o no. |
class Deque.AxeDevtools.Selenium.RunOptions.RunOnly
Limitar qué reglas se ejecutan, según nombres o etiquetas.
Estática EjecutarSoloReglas(cadena[])
Construir un limitador para reglas basadas en identificadores.
Parámetro | Descripción |
---|---|
rules | Lista de identificadores de reglas a utilizar. |
Devuelve: RunOnly
El objeto.
estático Solo ejecución Etiquetas(TipoDeEtiqueta[])
Construya un limitador para reglas basadas en etiquetas.
Parámetro | Descripción |
---|---|
tipos | Lista de tipos a utilizar. |
Devuelve: RunOnly
El objeto.
enum Deque.AxeDevtools.Selenium.RunOptions.RunOnlyType
- Regla
- Reglas
- Etiqueta
- Etiquetas
class Deque.AxeDevtools.Selenium.RunOptions.RunOptions
Una configuración flexible del funcionamiento de axe.
Campo | Tipo | Descripción |
---|---|---|
ElementRef | bool? | Devuelve referencias de elementos además del objetivo. |
IFrames | bool? | Dígale a ax que se ejecute dentro de iframes. |
ResultTypes | ResultGroup[] | Limita qué tipos de resultados se procesan y agregan |
Reglas | Diccionario<string, RuleStatus> | Permitir personalizar las propiedades de una regla (incluyendo { enable: false }). |
RunOnly | RunOnly | Limita las reglas que se ejecutan, en función de los nombres o las etiquetas. |
Selectores | bool? | Devuelve selectores xpath para elementos. |
enum Deque.AxeDevtools.Selenium.RunOptions.TagType
- Wcag2a
- Wcag2aa
- Wcag2aaa
- Wcag21a
- Wcag21aa
- Wcag21aaa
- Wcag22a
- Wcag22aa
- Wcag22aaa
- Section508
- TTv5
- EN301549
- Mejores prácticas
class Deque.AxeDevtools.Selenium.Spec.Check
Se utiliza para agregar comprobaciones a la lista de comprobaciones utilizadas por las reglas o para anular las propiedades de las comprobaciones existentes.
Campo | Tipo | Descripción |
---|---|---|
Posterior | cadena | Esta es la función que se llama para las comprobaciones que operan a nivel de página, para procesar los resultados de los iframes. |
Habilitado | bool? | Esto se utiliza para indicar si la comprobación está activada o desactivada de forma predeterminada. No se evalúan las comprobaciones desactivadas, incluso cuando se incluyen en una regla. Sobrescribir esto es una forma común de deshabilitar una verificación particular en múltiples reglas. |
Evaluación | cadena | Esta es la función que implementa la funcionalidad de la verificación. |
Id | string | Esto identifica de forma única la verificación. Si la verificación ya existe, se anularán todas las propiedades de verificación suministradas. |
Correspondencias | cadena de texto | Un selector CSS de filtrado que excluirá los elementos que no coincidan con el selector CSS. |
Opciones | objeto | Esta es la estructura de opciones que se pasa a la función de evaluación y está destinada a ser utilizada para configurar verificaciones. Es la propiedad más común que se pretende anular en los controles existentes. |
class Deque.AxeDevtools.Selenium.Spec.Rule
Se utiliza para agregar normas al conjunto de normas existente o para anular las propiedades de las normas existentes.
Campo | Tipo | Descripción |
---|---|---|
All | string[] | Esta es una lista de comprobaciones que, si alguna "falla", generarán una infracción. |
Cualquier | cadena[] | Esta es una lista de comprobaciones que, si ninguna "pasa", generarán una infracción. |
Habilitado | bool? | Si la regla está activada. Este es un atributo común para sobrescribir. |
ExcludeHidden | bool? | Esto indica si los elementos que están ocultos para todos los usuarios deben pasarse a la regla para su evaluación. |
Id | string | Esto identifica de forma única la regla. Si la regla ya existe, será sobrescrita con los atributos proporcionados. |
Coincidencias | cadena | Un selector CSS de filtrado que excluirá los elementos que no coincidan con el selector CSS. |
None | string[] | Esta es una lista de comprobaciones que, si alguna "se aprueba", generarán una violación. |
PageLevel | bool? | Cuando se establece en verdadero, esta regla solo se aplica cuando se prueba toda la página. Los resultados de los nodos en diferentes marcos se combinan en un único resultado. |
Selector | string | Un selector CSS utilizado para identificar los elementos que se pasan a la regla para su evaluación. |
Tags | string[] | Una lista de las etiquetas que "clasifican" la regla. En la práctica, debe proporcionar algunas etiquetas válidas o la evaluación predeterminada no invocará la regla. La convención es incluir el estándar (WCAG 2, sección 508, Trusted Tester v5 o EN 301 549), el nivel WCAG 2, el párrafo de la Sección 508 y los criterios de éxito WCAG 2. Las etiquetas se construyen convirtiendo todas las letras a minúsculas, eliminando espacios y puntos y concatenando el resultado. Por ejemplo, el criterio de éxito 1.1.1 de WCAG 2 se convertiría en ["wcag2a", "wcag111"] |
clase Deque.AxeDevtools.Selenium.Spec.Spec
Configura el formato de los datos utilizados por axe. Esto se puede usar para agregar nuevas reglas, que deben registrarse en la biblioteca para ejecutarse.
Campo | Tipo | Descripción |
---|---|---|
Branding | Branding | Se utiliza para establecer la marca de las URLs de ayuda. |
Comprobaciones | Comprobaciones[] | Se utiliza para agregar comprobaciones a la lista de comprobaciones utilizadas por las reglas o para anular las propiedades de las comprobaciones existentes. |
Configuración regional | Configuración regional | Un objeto de configuración regional para aplicar (en tiempo de ejecución) a todas las reglas y comprobaciones. |
ReporterVersion | ReporterVersion? | Se utiliza para establecer el formato de salida que devolverá la función axe.run. |
Reglas | Regla[] | Se utiliza para agregar reglas al conjunto de reglas existente o para anular las propiedades de las reglas existentes. |