WebdriverIO API-Referenz für Axe DevTools für das Web
Referenz für die APIs im @axe-devtools/webdriverio-Paket
Konstruktor
In der Standardkonfiguration ist das einzige Argument, das dem WebdriverIO-Konstruktor übergeben werden muss, die WebdriverIO-Instanz. Wenn Sie eine andere Version von axe-core als die ursprünglich enthaltene oder ein benutzerdefiniertes Regelset verwenden möchten, können Sie diese Optionen in den Konstruktor übergeben.
Sie können keine nicht standardisierte axe-core-Version auswählen und ein benutzerdefiniertes Regelset.
AxeDevToolsWebdriverIO(options: Options)Das Options -Interface ist ein Objekt, das die folgenden Eigenschaften enthält:
client(erforderlich): Ein WebdriverIO-ClientaxeSource(optional): ein String des axe-core-QuellcodesrulesetID(optional): eine Regelset-ID ('wcag2', 'wcag2.1', 'wcag2.2', 'wcag2aaa', 'wcag2.1aaa', 'wcag2.2aaa', '508', 'en301549', 'rgaav4', 'ttv5')
Sie dürfen nicht sowohl axeSource als auch rulesetIDbereitstellen. Die beiden schließen sich gegenseitig aus.
Definition der axe-core-Version
Standardmäßig verwendet @axe-devtools/webdriverio die neueste verfügbare Version von axe-core. Um eine andere Version von axe-core zu konfigurieren, übergeben Sie die axeSource -Option. Alle axe-core-Versionen können von npm oder über unpkg bezogen werden, indem Sie http://unpkg.com/axe-core@<version>/axe.js (ersetzen Sie <version> durch die Versionsnummer). Alle axe-core-Versionen nach 2.1.0 werden unterstützt.
Dies ist ein Beispiel für die Initialisierung von Axe DevTools WebdriverIO mit axe-core 2.3.0 aus einer Datei im übergeordneten Verzeichnis der Testdatei.
const axeSource = require('../axe-core-3.5.0').source;
const axeDevTools = new AxeDevToolsWebdriverIO({ client, axeSource });analyze-Methode
Diese Methode führt die Analyse durch und liefert letztendlich Ergebnisse eines Barrierefreiheitsscans.
analyze(client: webdriverio.Client): Promise<axe.AxeResults>Führen Sie eine Analyse mit der Standardkonfiguration auf dem angegebenen Client aus. Ein Promise wird zurückgegeben, der sich mit dem von axe-core zurückgegebenen Ergebnissatz auflöst.
Benutzerdefinierte Regeln
Weitere Informationen zur Verwendung benutzerdefinierter Regeln mit Axe DevTools finden Sie im Leitfaden zur Erstellung und Integration benutzerdefinierter Regelsets im CLI-Leitfaden.
analyzeUniversal-Methode
Führt eine Analyse durch und liefert Ergebnisse im Axe Universal Format. Die bestehende analyze() -Methode bleibt unverändert.
analyzeUniversal(): Promise<UniversalExport>Verkettungsoptionen
Es gibt mehrere Optionen, um Ihre Axe DevTools-Scans einzuschränken. Sie können bestimmte CSS-Bereiche ein- oder ausschließen und/oder Iframes ignorieren. Die Verkettungsmethoden (unten) im Konstruktor machen dies möglich.
disableFrame
AxeDevToolsWebdriverIO.disableFrame(selector: string): AxeDevToolsWebdriverIODeaktiviert das Injizieren von axe-core in Frames, die dem angegebenen CSS-Selektor entsprechen. Diese Methode kann beliebig oft aufgerufen werden.
include
AxeDevToolsWebdriverIO.include(selector: string): AxeDevToolsWebdriverIOSelektor, der in die Analyse einbezogen werden soll. Diese Methode kann beliebig oft aufgerufen werden.
exclude
AxeDevToolsWebdriverIO.exclude(selector: string): AxeDevToolsWebdriverIOSelektor, der aus der Analyse ausgeschlossen werden soll. Diese Methode kann beliebig oft aufgerufen werden.
Regelkonfiguration
Diese Optionen ändern die Regelkonfiguration für das gewählte Regelset. Diese Optionen überschreiben die Standardregelkonfiguration und ändern Ihre Ergebnisse. Weitere Aufrufe dieser Methoden überschreiben vorherige Aufrufe.
withRules
AxeDevToolsWebdriverIO.withRules(rules: RuleID[]): AxeDevToolsWebdriverIOBegrenzt die Analyse auf nur die angegebenen Regeln. Kann nicht mit AxeDevToolsWebdriverIO.withTags()verwendet werden.
withTags
AxeDevToolsWebdriverIO.withTags(tags: axe.TagValue[]): AxeDevToolsWebdriverIOBegrenzt die Analyse auf nur die angegebenen Tags. Kann nicht mit AxeDevToolsWebdriverIO.withRules()verwendet werden.
disableRules
AxeDevToolsWebdriverIO.disableRules(rules: RuleID[]): AxeDevToolsWebdriverIOLegen Sie die Liste der Regeln fest, die bei der Analyse übersprungen werden sollen.
axe-core Optionen
Diese Optionen greifen auf die zugrunde liegende axe-core-Konfiguration zu. Weitere Informationen zu diesen Optionen finden Sie in der axe-core Dokumentation.
konfigurieren
AxeDevToolsWebdriverIO.configure(config: axe.Spec): AxeDevToolsWebdriverIOLegen Sie die Konfiguration für axe-core fest. Dieser Wert wird direkt an axe.configure().
optionen
AxeDevToolsWebdriverIO.options(runOptions: axe.RunOptions): AxeDevToolsWebdriverIODie runOptions zum direkten Weitergeben an axe.run(). Siehe die axe-core Dokumentation zur Nutzung. Wird alle anderen konfigurierten Optionen überschreiben, einschließlich Aufrufe von AxeDevToolsWebdriverIO.withRules() und AxeDevToolsWebdriverIO.withTags().
Nutzungsdienst
Der Nutzungsdienst ermöglicht Ihnen Einblicke in die Nutzungstrends von Axe DevTools innerhalb Ihrer Organisation.
Standardmäßig ist der Nutzungsdienst deaktiviert, und die Standard-URL ist https://usage.deque.com.
Umgebungsvariablen
Diese Umgebungsvariablen ermöglichen es Ihnen, den Nutzungsdienst zu konfigurieren und die Eigenschaften der gemeldeten Ereignisse zu ändern.
| Name | Typ | Kann überschrieben werden | Beschreibung |
|---|---|---|---|
AXE_DISTINCT_ID |
String | — | Ein UUID-Identifikator, der für den angemeldeten Benutzer gleich bleibt (es sei denn, er wird neu generiert) |
AXE_METRICS_URL |
String | — | Die URL des REST-Nutzungsendpunktes |
AXE_TRACK_USAGE |
Boolean | — | Aktiviert die Berichtserstattung über den Nutzungsdienst (Standard ist false) |
AXE_APPLICATION |
String | false | Die Anwendung, die verwendet wurde, um Barrierefreiheitsfehler zu überprüfen |
AXE_DEV_INSTANCE |
Boolean | true | Zeigt an, ob dieses Ereignis durch die Aktionen eines Softwareentwicklers entstanden ist. Nützlich zum Markieren und späteren Entfernen von Ereignissen, die während der Entwicklung oder des Testens protokolliert wurden. |
AXE_DEPARTMENT |
String | true | Die Abteilung des Benutzers innerhalb der Organisation |
AXE_KEYCLOAK_ID |
String | false | Die Keycloak-ID des Benutzers |
AXE_LOGGED_IN |
Boolean | false | Zeichnet auf, ob der Benutzer im zu testenden Anwendung angemeldet ist |
AXE_ORGANIZATION |
String | true | Die Organisation des Benutzers |
AXE_SESSION_ID |
String | false | Ein UUID, das die Sitzung des Benutzers identifiziert |
AXE_USER_ID |
String | false | Eine spezifische Benutzeridentität wie Name oder Login-ID |
AXE_USER_JOB_ROLE |
String | false | Die Rolle des Benutzers im Beruf |
AXE_USER_STATUS |
String | false | Statusinformationen, die Sie mit dem Benutzer verknüpfen möchten |
TrackingAktivieren
Diese Methode erlaubt Nutzern, der Datenübermittlung an den Nutzungsdienst zuzustimmen
.enableTracking(state: boolean): AxeDevToolsWebdriverIOTrackingUrlSetzen
Diese Methode erlaubt es Nutzern, zu ändern, wohin die Nutzungsmetriken gesendet werden
.setTrackingUrl(url: string): AxeDevToolsWebdriverIODistinctIdSetzen
Diese Methode erlaubt es Nutzern, die gespeicherte/verwendete eindeutige ID zu ändern
.setDistinctId(distinctId: string): AxeDevToolsWebdriverIO