Anleitungen für Puppeteer und TypeScript
Konfigurieren Ihrer Tests mit Puppeteer und TypeScript
Axe Watcher erfordert einen unterstützten Browser: Chrome für Testing (eine separate Browser-Installation, die sich von Google Chrome unterscheidet), Chromium oder Microsoft Edge. Playwright und Puppeteer verwalten ihre eigenen Browser-Downloads und installieren stets eine Version, die von Axe Watcher unterstützt wird, sodass Sie nichts selbst installieren müssen. Details finden Sie unter Einrichten und Konfigurieren von Browsern für die Verwendung mit Axe Watcher.
-
Im Stammverzeichnis Ihres Testordners installieren Sie das Paket
@axe-core/watcherund alle seine Abhängigkeiten mitnpmoder Ihrem bevorzugten Paketmanager (zum Beispielyarnoderpnpm).npm install --save-dev @axe-core/watcher -
Importieren Sie in Ihrer Testdatei oder in Ihren Testdateien die
puppeteerConfig()-Funktion, diewrapPuppeteer()-Funktion und diePuppeteerController-Klasse aus@axe-core/watcher/puppeteer:import { puppeteerConfig, wrapPuppeteerPage, PuppeteerController } from '@axe-core/watcher/puppeteer' -
Aktualisieren Sie Ihren Test-Setup-Code (typischerweise in einem
before- oderbeforeAll-Block), indem Sie vorhandenen Code zur Erstellung einerbrowser-Instanz mit einem Aufruf vonpuppeteerConfig()umschließen und dabei Ihren API-Schlüssel aus der Umgebung beziehen (alsACCESSIBILITY_API_KEY):// Original code: browser = await puppeteer.launch({ // Your existing launch options... }) // Becomes: const ACCESSIBILITY_API_KEY = process.env.ACCESSIBILITY_API_KEY const PROJECT_ID = process.env.PROJECT_ID const SERVER_URL = process.env.SERVER_URL const browser = await puppeteer.launch( puppeteerConfig({ axe: { apiKey: ACCESSIBILITY_API_KEY, projectId: PROJECT_ID, serverURL: SERVER_URL }, headless: false }) );Stellen Sie sicher, dass Sie
ACCESSIBILITY_API_KEYundPROJECT_IDin Ihrer Umgebung auf Ihren persönlichen API-Schlüssel (zu finden in Ihrem Axe-Konto, im **API-SCHLÜSSEL**-Tab) und Ihre Projekt-ID (angezeigt am oberen Rand dieser Anweisungen, als Sie Ihr Projekt erstellt haben, oder verfügbar auf der Seite „Projekte“ durch Auswahl von **Projekt konfigurieren** unter **Einstellungen**) setzen. Wenn Ihre Organisation eine regionale, private Cloud oder eine lokale Axe Developer Hub-Instanz verwendet, setzen Sie auchSERVER_URLauf die Basis-URL dieser Instanz (zum Beispielhttps://axe-eu.deque.com); andernfalls lassen SieSERVER_URLweg und der Standardhttps://axe.deque.comwird verwendet. -
Erstellen Sie eine Instanz von
PuppeteerControllerund umschließen Sie Ihr Puppeteer-browserContext:// Create a page instance, using your browser instance. let page = await browser.newPage() // Initialize the PuppeteerController by passing in the Puppeteer page. const controller = new PuppeteerController(page) // Use the new wrapped Puppeteer page instance. page = wrapPuppeteerPage(page, controller) -
Stellen Sie schließlich sicher, dass alle Testergebnisse von Axe Watcher bereinigt werden. Fügen Sie dazu den folgenden Codeblock zu Ihrem Test-Teardown-Code hinzu (typischerweise in einem
afterEach-Block):afterEach(async () => { await controller.flush() });
