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 standardmäßige axe-core Version auswählen und ein benutzerdefiniertes Regelset.
AxeDevToolsWebdriverIO(options: Options)Die Options-Schnittstelle 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 rulesetID bereitstellen. Die beiden sind gegenseitig ausschließend.
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, geben Sie die axeSource-Option an. Alle axe-core Versionen können von npm oder über unpkg bezogen werden, indem Sie http://unpkg.com/axe-core@<version>/axe.js besuchen (ersetzen Sie <version> mit der 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 gegebenen Client aus. Ein Promise wird zurückgegeben, das sich mit dem von axe-core zurückgegebenen Ergebnisdatensatz auflöst.
Benutzerdefinierte Regeln
Für Informationen zur Verwendung benutzerdefinierter Regeln mit Axe DevTools lesen Sie die Anleitung zur Erstellung und Integration benutzerdefinierter Regelsets im CLI-Leitfaden.
analyzeUniversal-Methode
Führt eine Analyse durch und gibt die Ergebnisse im Axe Universal Format zurück. 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. Für mehr Informationen über diese Optionen, siehe den axe-core Dokumentation.
konfigurieren
AxeDevToolsWebdriverIO.configure(config: axe.Spec): AxeDevToolsWebdriverIOKonfiguriert die axe-core. Dieser Wert wird direkt an axe.configure() übergeben.
optionen
AxeDevToolsWebdriverIO.options(runOptions: axe.RunOptions): AxeDevToolsWebdriverIODer runOptions, der direkt an axe.run() übergeben wird. Sehen Sie den axe-core Dokumentation zur Verwendung. 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 aktiviert, und die Standard-URL ist https://usage.deque.com. Setzen Sie die Umgebungsvariable AXE_TRACK_USAGE auf false, um ihn zu deaktivieren.
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 (außer er wird neu generiert). In Ruby heißt diese Variable DEQUE_DISTINCT_ID. |
AXE_INCLUDE_TEST_RESULTS |
Boolean | — | Setzen Sie true, um die vollständigen axe-core-Ergebnisse im testResults-Objekt jedes Ereignisses einzuschließen (Standard ist false). Wird nur von der CLI und den Node.js-APIs unterstützt. |
AXE_METRICS_URL |
String | — | Die URL des REST-Nutzungsendpunkts (Standard ist https://usage.deque.com) |
AXE_TRACK_USAGE |
Boolean | — | Setzen Sie false, um das Reporting des Nutzungsdienstes zu deaktivieren. Das Reporting ist standardmäßig aktiviert. |
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. Um Ihre Nutzung in Axe Reports anzuzeigen, setzen Sie dies auf die ID Ihrer Organisation (kontaktieren Sie Deque, um diese zu erhalten). |
AXE_SESSION_ID |
String | false | Ein UUID, das die Sitzung des Benutzers identifiziert |
AXE_USER_ID |
String | false | Die Identität eines bestimmten Benutzers, wie eine E-Mail-Adresse, ein Name oder eine Login-ID. Axe Reports zählt anhand dieses Wertes eindeutige Benutzer. |
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 ermöglicht es den Benutzern, das Senden von Daten an den Nutzungsdienst zu aktivieren oder zu deaktivieren. Das Senden ist standardmäßig aktiviert.
.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