API-Referenz für die JavaScript- und TypeScript-Version von Watcher
Die API-Referenz für das @axe-core/watcher-Paket
Dieser Referenzleitfaden beschreibt die von der @axe-core/watcher bereitgestellten APIs (auch bekannt als Axe Watcher oder einfach Watcher) für JavaScript und TypeScript.
AxeConfiguration Schnittstelle
Die axe -Eigenschaft (ein Parameter, der an die Konfigurationsfunktionenübergeben wird) ist das übliche Mittel, um Ihre AxeConfiguration für Axe Watcher zur Konfiguration von Accessibility-Tests zu ändern. Die folgenden Eigenschaften sind in AxeConfigurationenthalten:
| Name | Typ | Erforderlich | Beschreibung | |
|---|---|---|---|---|
apiKey |
string (enthält eine UUID) |
ja | Ihr persönliches API-Schlüsselgeheimnis. | |
autoAnalyze |
boolean |
nein | Ob Watcher automatisch eine Zugänglichkeitsanalyse auf Ihrer Seite durchführt. Standardwert ist true. |
|
buildID |
string |
nein | Standardwert ist null, was für Einzelprozess- (nicht parallelisierte) Testläufe empfohlen wird. Für parallele Testläufe sollten alle Worker denselben, nicht nullenden buildID -String haben. |
|
configurationOverrides |
ConfigurationOverrides |
nein | Erlaubt es, globale Konfigurationseinstellungen zu überschreiben. | |
excludeUrlPatterns |
string[] |
nein | Schließt URLs von der Überprüfung aus, die den angegebenen Minimatch-Mustern entsprechen. | |
git |
`boolean | GitKonfig` | nein | Steuert die Erfassung von Git-Metadaten. Standard ist true (Auto-Erkennung). Setzen Sie auf false , um zu deaktivieren, oder geben Sie ein GitConfig -Objekt an, um explizite Metadaten bereitzustellen. |
projectId |
string (enthält eine UUID) |
ja | Die Projekt-ID, um die Ergebnisse der Watcher-Testläufe zu erhalten. | |
runContext |
axe.ElementContext |
nein | An axe-core übergeben. | |
runOptions |
RunOptions |
nein | An axe-core übergeben. | |
serverURL |
string |
nein | Der Developer Hub-Server zum Senden von Ergebnissen. Es ist unwahrscheinlich, dass Sie diesen Wert ändern müssen. | |
sessionId |
string |
nein | Veraltet. Die Sitzungs-ID dieser Instanz. Es ist unwahrscheinlich, dass Sie diesen Wert ändern müssen. Siehe buildId stattdessen. |
|
testingTypes |
string[] |
nein | Zur Verwendung mit Cypress, um Komponenten- oder End-to-End-Tests (oder beides) anzugeben | |
timeout |
Timeouts |
nein | Ein Timeouts Objekt, das Millisekunden darstellt, bis die angegebenen Controller -Methoden ablaufen und fehlschlagen. |
apiKey
(Erforderlich) Der apiKey -Wert ist eine von zwei Eigenschaften (apiKey und projectId), die in Ihrer AxeConfigurationfestgelegt werden müssen. Sie können seinen Wert von der API-Schlüsselverwaltungsseite erhalten.
autoAnalyze
(Optional) Setzen Sie diesen Wert auf false , um zu verhindern, dass Seiten automatisch analysiert werden. Weitere Informationen zum manuellen Modus finden Sie unter Controlling Ihrer Scans.
buildID
(Optional) Die buildID Eigenschaft, wenn nicht null, ermöglicht es parallelen Testrunnern, Ergebnisse zu generieren, die als ein einziger Testlauf im axe Developer Hub erscheinen. Im Fall paralleler Testläufe sollte jeder Testrunner dieselbe nicht-null buildID -Zeichenfolge teilen, wodurch jeder Testlauf seine Ergebnisse mit vorhandenen Ergebnissen für denselben buildID und Git-Commit-SHA verkettet. Wenn jedoch buildID ist null, überschreiben mehrere Testläufe bestehende Ergebnisse, die denselben Git-Commit-SHA haben.
Siehe Tests parallel ausführen , um mehr darüber zu erfahren, wie Sie buildID mit verschiedenen Anbietern für kontinuierliche Integration nutzen können.
configurationOverrides
(Optional) Überschreibt Werte, die in der globalen Konfigurationgesetzt sind. Siehe die ConfigurationOverrides-Schnittstelle für weitere Informationen.
excludeUrlPatterns
(Optional) Verhindert, dass eine URL, die einem der minimatch -Muster in der excludeUrlPatterns Liste entspricht, analysiert wird.
axe: {
excludeUrlPatterns: [ 'https://*.example.com/**', 'https://example.org/**' ]
}In URLs von der Analyse ausschließen finden Sie eine Tabelle mit URLs und Beispielmustern, um Übereinstimmungen zu überprüfen.
git
(Optional) Steuert, wie Watcher Git-Metadaten für den aktuellen Testlauf sammelt. Akzeptiert einen von drei Werten:
true(Standard): Watcher sammelt automatisch Git-Informationen (Branch, Commit-SHA, Autor und andere Felder) mit dem lokalen Git-Binary.false: Deaktiviert die Sammlung aller Git-Metadaten. Verwenden Sie dies in Umgebungen ohne Git oder wenn die Sammlung von Git-Daten nicht benötigt wird.- Ein
GitConfig-Objekt: Liefert explizite Git-Metadaten und überspringt die automatische Erkennung vollständig. Alle Felder, die Sie auslassen, werden standardmäßig aufnullgesetzt. Verwenden Sie dies, wenn Ihre Tests in einem Repository laufen, das von dem zu testenden Repository getrennt ist, oder in CI-Umgebungen, in denen die automatische Git-Erkennung unzuverlässig ist.
Siehe Bereitstellen von Git-Metadaten für weitere Informationen.
Das GitConfig -Objekt hat die folgenden optionalen Felder:
| Feld | Typ | Beschreibung |
|---|---|---|
branch |
string |
Aktueller Branch-Name |
tag |
string |
Aktuelles Tag (z. B. v1.2.3) |
defaultBranch |
string |
Standard-Branch (z. B. main) |
commitSha |
string |
Vollständiger oder abgekürzter Commit-Hash |
commitAuthor |
string |
Anzeige-Name des Autors |
commitEmail |
string |
E-Mail-Adresse des Autors |
commitMessage |
string |
Vollständige Commit-Nachricht |
url |
string |
Remote-URL des Repositories |
isDirty |
boolean |
true falls nicht übermittelte Änderungen vorhanden sind. Wird standardmäßig auf false gesetzt, wenn dieses Feld weggelassen wird. |
Beispiel zur Verwendung von CI-Umgebungsvariablen zur Angabe expliziter Git-Metadaten:
axe: {
apiKey: process.env.AXE_DEVELOPER_HUB_API_KEY,
projectId: '<your-project-id>',
git: {
commitSha: process.env.GIT_COMMIT,
branch: process.env.GIT_BRANCH,
defaultBranch: 'main'
}
}projectId
(Erforderlich) Gibt die Projekt-ID an, die die Watcher-Zugänglichkeitsberichte erhalten wird. Ihre Projekt-ID wird zusammen mit den Anweisungen angezeigt, wenn Sie ein neues Projekt erstellen, und Sie können sie auch von der axe Developer Hub-Projektseite abrufen.
runContext
(Optional) Ermöglicht Ihnen die Wahl, welche Elemente in die Barrierefreiheitsanalyse Ihrer Seite ein- und ausgeschlossen werden.
Wenn Sie runContext verwenden, um Elemente für die Analyse auszuwählen (über einen einzelnen CSS-Selektor, ein Array von CSS-Selektoren oder mit der include -Eigenschaft), analysiert Axe Developer Hub *nur die Elemente, die von den CSS-Selektoren ausgewählt wurden*. Daher wird, wenn keine Elemente ausgewählt werden (zum Beispiel aufgrund eines Tippfehlers in einem CSS-Klassen-Selektor), nichts analysiert und, was noch wichtiger ist, *es werden keine Seitenzustände erfasst*.
Der Wert von runContext kann sein:
-
Ein einzelner CSS-Selektor für die einzuschließenden Elemente in der Analyse:
axe: { runContext: '.main' } -
Ein Array von CSS-Selektoren für die einzuschließenden Elemente in der Analyse:
axe: { runContext: [ '.main', '.text-block' ] } -
Ein Kontextobjekt, das
includeundexclude-Eigenschaften enthält (wie im obigen Beispiel gezeigt). Sie könnenincludeoderexcludeoder beides angeben. Jedesincludeoderexcludekann ein einzelner CSS-Selektor oder ein Array von CSS-Selektoren sein:axe: { runContext: { include: '.main', exclude: '.ad-section' } }
Weitere Details finden Sie im axe-core-Kontextdokumentation.
runOptions
(Optional) Das runOptions Objekt erlaubt den folgenden Teilbereich von Eigenschaften aus dem axe-core- Options -Typ:
-
ancestry: Standard istfalse. Wenntrue, beinhalten die zurückgegebenen CSS-Selektoren die Vorfahrelemente der zurückgegebenen Elemente.importantWenn Ihre Seite dynamische IDs oder Klassen (Element-IDs oder -Klassen, die sich bei jedem Neuladen der Seite ändern) verwendet, müssen Sie
ancestryalstrueangeben, damit Axe Developer Hub ordnungsgemäß erkennen und verfolgen kann, ob Barrierefreiheitsprobleme Duplikate sind, da Axe Developer Hub standardmäßig erwartet, dass sich Element-IDs und -Klassen zwischen den Testläufen nicht ändern.Wenn
ancestryisttrue, nutzt Axe Developer Hub stattdessen die Position des Elements innerhalb des DOM-Baums, um dasselbe Element zwischen den Testläufen zu lokalisieren.Das folgende Beispiel zeigt einen Selektor, wenn
ancestryistfalsefür ein iframe-Element mit einer ID von main-iframe (<iframe id="main-iframe" ...>):iframe#main-iframeWenn
ancestryisttrue, würde der Selektor den gesamten Pfad vom Wurzelelement aus einschließen, und es sind keine IDs oder Klassen angegeben:html > body > div:nth-child(20) > div:nth-child(1) > div > div > ul > li:nth-child(1) > div > span > iframe -
runOnly: Dies ermöglicht es Ihnen, durch Angabe von Namen oder Tags einzuschränken, welche Regeln ausgeführt werden. SieherunOnlyunten für weitere Informationen. -
rules: Regeln aktivieren oder deaktivieren mit derenabledEigenschaft. Sieherulesunten für weitere Informationen.
Das folgende zeigt ein Beispiel von runOptions:
axe: {
runOptions: {
ancestry: true,
runOnly: {
type: 'tag',
values: [ 'wcag2a' ]
},
rules: {
'ruleId1': { enabled: false },
'ruleId2': { enabled: false }
}
}
}runOnly
Die Verwendung von runOnly wird als fortgeschrittene Nutzung betrachtet, und wenn Sie runOnly verwenden (oder rules), erhalten Sie eine Warnung.
Sie können nicht sowohl runOptions.runOnly als auch configurationOverridesverwenden. Andernfalls erhalten Sie einen Fehler.
Der runOnly -Wert (Teil des runOptions -Objekts) kann einer der folgenden sein:
-
Ein String, der die Regel-ID der Regel darstellt, die Sie für die Barrierefreiheitsanalyse verwenden möchten:
axe: { runOptions: { runOnly: 'ruleId' } } -
Ein Array von Strings, das die Regel-IDs der Regeln darstellt, die Sie verwenden möchten:
axe: { runOptions: { runOnly: [ 'ruleId1', 'ruleId2' ] } } -
Ein Objekt mit
typeundvaluesEigenschaften. DertypeWert ist ein String, derrulesein kann,rules,tag, odertags. DievaluesEigenschaft muss ein Array von Strings sein, das die Regel(n) oder Tag(s) repräsentiert, die Sie für die Barrierefreiheitsanalyse verwenden möchten. Das folgende Beispiel zeigt, wie Sie dasrunOnlyObjekt verwenden, um die Barrierefreiheitsprüfung auf Regeln einzuschränken, die alswcag2agekennzeichnet sind:axe: { runOptions: { runOnly: { type: 'tag', values: [ 'wcag2a' ] } } }
- Für weitere Beispiele der
runOnlyNutzung (mit axe-core) siehe Beispiele für Optionsparameter - Für weitere Informationen zu verfügbaren Tag-Werten siehe axe-core Tags.
- Für Informationen zu den Regeln, Regel-IDs und Tags siehe Regelbeschreibungen
rules
Der rules Wert (am runOptions Objekt) ermöglicht es Ihnen, spezifische Regeln während der Analyse zu aktivieren (enabled: true) oder zu deaktivieren (enabled: false), wie unten gezeigt:
axe: {
runOptions: {
rules: {
'ruleId1': { enabled: false },
'ruleId2': { enabled: false }
}
}
}sessionId
(Optional) Die sessionId Eigenschaft ist veraltet und sollte nicht mehr verwendet werden. Siehe buildID oben.
testingTypes
(Optional) Die testingTypes Eigenschaft ist ein Array von Strings zur Verwendung mit Cypress, um Komponenten- oder End-to-End-Tests (oder beides) zu spezifizieren.
axe: {
testingTypes: ['e2e', 'component']
}timeout
(Optional) Das timeout Objekt (vom Typ Timeouts) in AxeConfiguration legt die Zeitlimitwerte in Millisekunden für die jeweiligen Controllermethoden (oder benutzerdefinierten Befehle für Cypress) fest. (Siehe die Controller-Klassen für Informationen zu den Controller-Klassen und die Cypress Benutzerdefinierte Kommentare für Informationen zu benutzerdefinierten Befehlen in Cypress.) Wenn ein Zeitlimit abläuft, schlägt der Test mit einer Nachricht fehl, die darauf hinweist, dass das Zeitlimit überschritten wurde. Sie können das Zeitlimit erhöhen, um den Fehler zu vermeiden.
Diese Zeitlimitwerte sind unabhängig von dem Testframework, das Sie verwenden, und Sie müssen möglicherweise auch die Zeitlimitwerte für dieses Framework erhöhen.
Dieses Beispiel setzt das analyze Zeitlimit auf 8 Sekunden, flush auf 15 Sekunden, start auf 10 Sekunden und stop auf 10 Sekunden. (Die Standardwerte sind in der Tabelle unter Timeouts Schnittstelledargestellt.)
axe: {
timeout: {
analyze: 8000
flush: 15000,
start: 10000,
stop: 10000,
}
}Konfigurationsfunktionen
Die von Watcher bereitgestellten Konfigurationsfunktionen ermöglichen es Ihnen, Ihr Setup für das angegebene Testframework zu modifizieren und anzupassen, wie Sie Watcher ausführen möchten, um Ihren Anforderungen gerecht zu werden. Siehe Axe-Konfigurationsschnittstelle für weitere Informationen.
| Test-Framework | Konfigurationsfunktion |
|---|---|
| Cypress | cypressConfig |
| **Playwright** | playwrightConfig |
| **Playwright Test** | playwrightTest |
| **Puppeteer** | puppeteerConfig |
| **WebdriverIO** | wdioConfig |
| **WebdriverIO Testrunner** | wdioTestRunner |
| **WebDriverJS** | webdriverConfig |
cypressConfig
Erstellt eine Konfiguration für Cypress.
cypressConfig(config: Cypress.ConfigOptions & Configuration): Cypress.ConfigOptionscypressConfig Parameter
-
config:Cypress.ConfigOptions & ConfigurationSchnittmengentyp von
Cypress.ConfigOptionsundConfiguration.
**Gibt zurück**: Cypress.ConfigOptions
playwrightConfig
Erstellt eine Konfiguration für Playwright.
playwrightConfig(opts: Configuration & LaunchOptions): LaunchOptionsplaywrightConfig Parameter
-
opts:Configuration & LaunchOptionsSchnittmengentyp von
LaunchOptionsundConfiguration.
**Gibt zurück**: LaunchOptions
playwrightTest
Erstellt eine Konfiguration für Playwright Test.
playwrightTest(options: Options): ReturnValueplaywrightTest Parameter
-
options:OptionsOptionsist ein Schnittmengentyp vonConfigurationundLaunchOptions.
**Gibt zurück**: ReturnValue
puppeteerConfig
Erstellt eine Konfiguration für Puppeteer.
puppeteerConfig(opts: Configuration & LaunchOptions & BrowserLaunchArgumentOptions & BrowserConnectOptions): OptionspuppeteerConfig Parameter
-
opts:Configuration & LaunchOptions & BrowserLaunchArgumentOptions & BrowserConnectOptionsSchnittmengentyp von
LaunchOptions,BrowserLaunchArgumentOptions,BrowserConnectOptions, undConfiguration.
**Gibt zurück**: Options
wdioConfig
Erstellt eine WebdriverIO-Konfiguration.
wdioConfig({ axe, ...options}: Options): RemoteOptionswdioConfig Parameter
-
arg:OptionsOptionsist ein Schnittmengentyp vonRemoteOptionsundConfiguration.
**Gibt zurück**: RemoteOptions
wdioTestRunner
Erstellt eine WebdriverIO Testrunner-Konfiguration.
wdioTestRunner(...params: unknown[]): Options.TestrunnerwdioTestRunner Parameter
-
params:unknown[]Der
params-Wert ist einer der folgenden:- Ein Array, das einen Wert enthält, der ein Schnittmengentyp von
Options.TestrunnerundConfigurationist. - Ein Array, bei dem der erste Arraywert ein
AxeConfigurationund der zweite Wert einOptions.Testrunnerist.
- Ein Array, das einen Wert enthält, der ein Schnittmengentyp von
**Rückgaben**: Options.Testrunner
webdriverConfig
Erstellt eine Selenium WebDriver-Konfiguration.
webdriverConfig(arg: WebDriverArgs): OptionswebdriverConfig Parameter
-
arg:WebDriverArgsEin
Configuration, das um einen Selenium WebDriver-Options-Mitglied erweitert ist.
**Rückgaben**: Options
Configuration Schnittstelle
Die Configuration -Schnittstelle wird mit den Konfigurationsfunktionen verwendet und enthält eine Eigenschaft:
| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
axe |
AxeConfiguration |
ja | Das AxeConfiguration , das an die Konfigurationsfunktion Ihres Test-Frameworks übergeben werden soll. |
Alle Konfigurationsfunktionen verwenden diese axe -Eigenschaft, damit Sie Watcher einrichten und Ihre Barrierefreiheitstests konfigurieren können. Siehe den nächsten Abschnitt, AxeConfiguration Interface, für weitere Informationen.
ConfigurationOverrides Schnittstelle
Die ConfigurationOverrides -Schnittstelle ermöglicht es Ihnen, die globalen Konfigurationseinstellungen Ihrer Organisation für einzelne Testrunden zu überschreiben. Diese Eigenschaft muss in Übereinstimmung mit den Berechtigungen verwendet werden, die in der globalen Konfiguration Ihres Unternehmens festgelegt sind.
| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
accessibilityStandard |
string |
nein | Der zu befolgende Barrierefreiheitsstandard |
axeCoreVersion |
string |
nein | Gibt an, welche axe-core Version verwendet werden soll. |
bestPractices |
boolean |
nein | Gibt an, ob die besten Praxisregeln befolgt werden sollen. |
experimentalRules |
boolean |
nein | Ob experimentellen Regeln gefolgt werden soll |
accessibilityStandard
Legt den Barrierefreiheitsstandard fest, gegen den getestet werden soll. Verfügbare Optionen:
- „Alle“ - Testet gegen alle verfügbaren Standards
- „WCAG 2.2 AAA“
- „WCAG 2.2 AA“
- „WCAG 2.2 A“
- „WCAG 2.1 AAA“
- „WCAG 2.1 AA“
- „WCAG 2.1 A“
- „WCAG 2.0 AAA“
- „WCAG 2.0 AA“
- „WCAG 2.0 A“
- „Trusted Tester v5“
- „EN 301 549“
- „RGAAv4“ - RGAA Version 4 (Französischer Barrierefreiheitsstandard; erfordert axe-core 4.11.0 oder neuer)
Ihre Organisation muss das Überschreiben dieser Einstellung in der globalen Konfiguration erlauben, und der ausgewählte Standard muss zu den erlaubten Optionen gehören.
axeCoreVersion
Gibt an, welche Version von axe-core für das Testen verwendet werden soll. Verfügbare Optionen umfassen:
- „neueste“ - Neueste unterstützte Version, die derzeit mit Axe Watcher gebündelt ist
- Spezifische Versionen ab 4.4.0 und später (z.B. „4.10.2“, „4.9.1“, etc.)
Ihre Organisation muss das Überschreiben dieser Einstellung in der globalen Konfiguration erlauben, und die ausgewählte Version muss zu den erlaubten Optionen gehören.
bestPractices
Aktiviert oder deaktiviert Best-Practice-Regeln für den Testdurchlauf. Best Practices verbessern die Barrierefreiheit, sind aber kein Teil formaler Standards. Ihre Organisation muss das Überschreiben dieser Einstellung erlauben, damit sie wirksam wird.
experimentalRules
Aktiviert oder deaktiviert experimentelle Regeln für den Testdurchlauf. Experimentelle Regeln befinden sich noch in der Entwicklung und können Fehlalarme erzeugen. Ihre Organisation muss das Überschreiben dieser Einstellung in der globalen Konfiguration erlauben, damit sie wirksam wird.
Controller Klassen
Die folgenden Klassen erweitern die Controller abstrakte Klasse, um Ihnen die manuelle Steuerung der Barrierefreiheitsanalyse der Seiten Ihrer Website zu ermöglichen.
| Testframeworks | Name |
|---|---|
| Playwright und Playwright Test | PlaywrightController |
| Puppeteer | PuppeteerController |
| WebdriverIO und WebdriverIO Testrunner | WdioController |
| WebDriverJS | WebdriverController |
Für Cypress werden die Methoden in den *Controller Klassen als benutzerdefinierte Befehle implementiert. Siehe Controller Custom Commands für Cypress für weitere Informationen.
Controller
abstract class ControllerDie Controller abstrakte Klasse enthält die Methoden zur Steuerung der Seitenanalyse. Jede der konkreten Klassen erweitert diese Klasse, sodass die folgenden Methoden in allen konkreten Klassen verfügbar sind.
Frame-Kontext: Wenn Ihr Test den Kontext des Browsers auf ein untergeordnetes Frame wechselt, indem er switchToFrame() (WebdriverIO oder WebDriverJS) verwendet, erfasst Axe Watcher keine Seitenzustände für Aktionen, die im untergeordneten Frame durchgeführt werden. Axe Watcher kann nur das Haupt-Frame analysieren. Wechseln Sie zurück zum Haupt-Frame (zum Beispiel mit switchToParentFrame() in WebdriverIO oder driver.switchTo().defaultContent() in WebDriverJS), um die Erfassung von Seitenzuständen fortzusetzen. Siehe Keine erfassten Seitenzustände nach Wechsel zu einem untergeordneten Frame für weitere Informationen.
analyze
analyze(): Promise<void>Analysiert die aktuelle Seite auf Barrierefreiheitsfehler. Diese Methode wird aufgerufen, nachdem Sie eine Webseite für die Analyse vorbereitet haben (z.B. Werte in ein Formular eingegeben haben) und die automatische Analyse mit der stop Methode oder durch Setzen von autoAnalyze auf falsedeaktiviert haben.
analyze Gibt zurück
Promise<void>
analyze Entsprechender Cypress-Befehl
cy.axeWatcherAnalyze()
flush
flush(): Promise<void>Sendet alle Ergebnisse des Barrierefreiheits-Scans an Axe Developer Hub. Sollte am Ende des Testlaufs aufgerufen werden, um sicherzustellen, dass die Ergebnisse an die Axe Developer Hub-Server von Deque gesendet wurden.
flush Gibt zurück
Promise<void>
flush Entsprechender Cypress-Befehl
cy.axeWatcherFlush()
start
start(): Promise<void>Setzt die Auto-Analyse von Webseiten fort. Diese Methode wird aufgerufen, wenn Sie die Auto-Analyse von Webseiten auf Barrierefreiheitsfehler fortsetzen möchten.
start Gibt zurück
Promise<void>
start Entsprechender Cypress-Befehl
cy.axeWatcherStart()
stop
stop(): Promise<void>Stoppt die Auto-Analyse von Webseiten. Nachdem Sie die stop Methode aufgerufen haben, können Sie weitere notwendige Setups für Ihre Webseite durchführen und dann die analyze Methode aufrufen, um die Seite auf Barrierefreiheitsfehler zu überprüfen.
stop Gibt zurück
Promise<void>
stop Entsprechender Cypress-Befehl
cy.axeWatcherStop()
PlaywrightController
Die PlaywrightController Klasse ermöglicht es Ihnen, die Barrierefreiheitsanalyse für Testruns mit Playwright und Playwright Test manuell zu steuern. Sie können die automatische Barrierefreiheitsanalyse starten und stoppen sowie Seiten analysieren, die ein zusätzliches Setup erfordern.
Weitere Informationen zu Playwright finden Sie in der Playwright-Dokumentation.
Konstruktor
new PlaywrightController(driver: Page): PlaywrightControllerParameter
driver:Page
Der driver Wert ist ein Playwright Page Objekt.
Gibt zurück PlaywrightController
Siehe Controller für die in der abstrakten Basisklasse implementierten Methoden.
PuppeteerController
Die PuppeteerController Klasse ermöglicht die manuelle Steuerung Ihrer Testruns mit Puppeteer. Manuelle Steuerung ermöglicht es Ihnen, zusätzliche Setups bereitzustellen, die von komplexeren Webseiten benötigt werden.
Weitere Informationen zu Puppeteer finden Sie unter Puppeteer.
Konstruktor
new PuppeteerController(driver: Page): PuppeteerControllerParameter
driver:Page
Der driver Wert ist ein Puppeteer Page Objekt.
Gibt zurück PuppeteerController
Siehe Controller für die in der abstrakten Basisklasse implementierten Methoden.
WdioController
Der WdioController erlaubt es Ihnen, Testruns mit WebdriverIO und WebdriverIO Testrunner manuell zu steuern. Für Seiten, die zusätzliche Setups oder Konfigurationen erfordern, können Sie den automatischen Test stoppen und jede Seite manuell analysieren, die ein solches Setup benötigt.
Konstruktor
new WdioController(driver: Browser): WdioControllerParameter
driver:Browser
Rückgaben WdioController
Siehe Controller für die in der abstrakten Basisklasse implementierten Methoden.
WebdriverController
Konstruktor
new WebdriverController(driver: WebDriver): WebdriverControllerParameter
driver:WebDriver
Der driver Wert ist ein Selenium WebDriver Objekt.
Rückgaben WebdriverController
Siehe Controller für die in der abstrakten Basisklasse implementierten Methoden.
Cypress Custom Commands
In der Cypress-Browser-Automatisierungsplattform werden die Methoden in den *Controller Klassen als benutzerdefinierte Befehle implementiert. Siehe Custom Commands auf der Cypress-Dokumentationsseite für weitere Informationen über die Implementierung und Nutzung benutzerdefinierter Befehle.
Die folgenden benutzerdefinierten Befehle werden implementiert. Jeder benutzerdefinierte Befehl gibt Chainable<void> zurück, um das Verketten mit anderen Cypress-Befehlen zu ermöglichen.
| Controller-Methode | Entsprechender Cypress Custom Command |
|---|---|
analyze() |
axeWatcherAnalyze() |
flush() |
axeWatcherFlush() |
start() |
axeWatcherStart() |
stop() |
axeWatcherStop() |
Seit Watcher 3.9.0 sind die vier Cypress Custom Commands axeAnalyze(), axeFlush(), axeStart(), und axeStop() veraltet und sollten nicht mehr verwendet werden.
Wenn Sie das @axe-devtools/cypress Paket mit Watcher verwenden, müssen Sie mindestens auf Version 3.9.0 von Watcher aktualisieren, da die veralteten benutzerdefinierten Befehle mit den benutzerdefinierten Befehlen in @axe-devtools/cypressin Konflikt stehen.
Cypress-Befehl Beispiel
Das folgende Beispiel zeigt, wie die Cypress-Befehle des Axe Developer Hub aus dem @axe-core/watcher Paket importiert und dann der axeWatcherFlush Befehl am Ende jedes Tests aufgerufen wird (indem er in afterEach()platziert wird):
// Import the axe-watcher commands.
require('@axe-core/watcher/cypress/support')
// Flush Axe-watcher results after each test.
afterEach(() => {
cy.axeWatcherFlush()
})Timeouts-Schnittstelle
Das Timeout Objekt (vom Typ Timeouts) in der AxeConfiguration-Schnittstelle ermöglicht es Benutzern, die Timeout-Werte (in Millisekunden) für die jeweiligen Controller-Funktionen oder die Cypress Custom Commands zu ändern.
interface Timeouts {
start?: number
stop?: number
flush?: number
analyze?: number
}| Name | Typ | Erforderlich | Standard | Beschreibung |
|---|---|---|---|---|
| analysieren | Zahl | nein | 5000 | Legt das Timeout in Millisekunden für die Analysieren -Controller-Funktion oder den axeWatcherAnalyze -Benutzerbefehl (in Cypress) fest. |
| leeren | Zahl | nein | 5000 | Legt das Timeout in Millisekunden für die Leeren -Controller-Funktion oder den axeWatcherFlush -Benutzerbefehl (in Cypress) fest. |
| starten | Zahl | nein | 2000 | Legt das Timeout in Millisekunden für die Starten -Controller-Funktion oder den axeWatcherStart -Benutzerbefehl (in Cypress) fest. |
| stoppen | Zahl | nein | 5000 | Legt das Timeout in Millisekunden für die Stoppen -Controller-Funktion oder den axeWatcherStop -Benutzerbefehl (in Cypress) fest. |
