Instructies voor WebDriverJS en TypeScript
Uw tests configureren met WebDriverJS en TypeScript
Axe Watcher vereist een ondersteunde browser die al op uw systeem is geïnstalleerd: Chrome for Testing (een aparte browserinstallatie, anders dan Google Chrome), Chromium of Microsoft Edge. Google Chrome, versie 139 of later, wordt niet ondersteund. Zie Browsers instellen en configureren voor gebruik met Axe Watcher voor installatie- en configuratie-instructies.
-
Installeer in de hoofdmap van je testmap het
@axe-core/watcher-pakket en al zijn afhankelijkheden metnpmof je voorkeurspakketbeheerder (bijvoorbeeldyarnofpnpm).npm install --save-dev @axe-core/watcher -
Importeer in uw testbestand of -bestanden de
webdriverConfig()functie, dewrapWebdriver()functie en deWebdriverControllerklasse van@axe-core/watcher/webdriver:import { webdriverConfig, wrapWebdriver, WebdriverController } from '@axe-core/watcher/webdriver' -
Werk uw testconfiguratiecode bij (meestal in een
beforeofbeforeAllblok), en specificeer Chrome-opties bij het instantiëren van uwbrowserinstantie, met vermelding van uw API-sleutel:// Original code: const browser = await new Builder() .forBrowser('chrome') .build() // 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 new Builder() .forBrowser('chrome') .setChromeOptions( webdriverConfig({ axe: { apiKey: ACCESSIBILITY_API_KEY, projectId: PROJECT_ID, serverURL: SERVER_URL } } ) .build()Zorg ervoor dat je
ACCESSIBILITY_API_KEYenPROJECT_IDin je omgeving instelt op je persoonlijke API-sleutel (te vinden in je Axe-account, tabblad **API-SLEUTELS**) en je project-ID (weergegeven bovenaan deze instructies toen je je project maakte of beschikbaar van de Projecten-pagina door **Project configureren** te kiezen onder **Instellingen**). Als je organisatie een regionale, private cloud of on-premises Axe Developer Hub-instantie gebruikt, stel dan ookSERVER_URLin op de basis-URL van die instantie (bijvoorbeeld,https://axe-eu.deque.com); zo niet, laat danSERVER_URLweg en zal de standaardhttps://axe.deque.comgebruikt worden. -
Maak een instantie van de
WebdriverController:const controller = new WebdriverController(browser)noteAls u schermopname maken (
takeScreenshots: true) inschakelt, let dan op datWebdriverControllergeen schermopname maken implementeert in@axe-core/watcher4.6.0. Om schermafbeeldingen te maken, subclass uWebdriverController, overschrijfcaptureScreenshot()om Selenium's eigentakeScreenshot()-methode aan te roepen, en instantieert u uw subclass in plaats daarvan:class ScreenshotWebdriverController extends WebdriverController { async captureScreenshot() { return await this.driver.takeScreenshot() } } const controller = new ScreenshotWebdriverController(browser) -
Omhul uw
browserinstantie met dewrapWebdriver()functie:browser = wrapWebdriver(browser, controller) -
Zorg er ten slotte voor dat alle testresultaten van Axe Watcher zijn verwijderd. Voeg hiervoor het volgende codeblok toe aan je testafbreekcode (doorgaans in een
afterEach-blok):afterEach(async () => { await controller.flush() })
