Istruzioni per Puppeteer e TypeScript
Configurare i tuoi test con Puppeteer e TypeScript
-
Nella cartella principale del tuo ambiente di test, installa il pacchetto
@axe-core/watchere tutte le sue dipendenze utilizzandonpmo il tuo gestore di pacchetti preferito (ad esempio,yarnopnpm).npm install --save-dev @axe-core/watcher -
Nel tuo file o nei tuoi file di test, importa la funzione
puppeteerConfig(), la funzionewrapPuppeteer()e la classePuppeteerControllerda@axe-core/watcher/puppeteer:import { puppeteerConfig, wrapPuppeteerPage, PuppeteerController } from '@axe-core/watcher/puppeteer' -
Aggiorna il codice di configurazione del test (tipicamente in un blocco
beforeobeforeAll) avvolgendo qualsiasi codice esistente per la creazione di un'istanzabrowsercon una chiamata apuppeteerConfig(), ottenendo la tua chiave API dall'ambiente (comeACCESSIBILITY_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 }) );Assicurati di impostare
ACCESSIBILITY_API_KEYePROJECT_IDnel tuo ambiente con la tua chiave API personale (che si trova nel tuo account Axe, scheda **API KEYS**) e l'ID del tuo progetto (mostrato nella parte superiore di queste istruzioni quando hai creato il tuo progetto o disponibile nella pagina Progetti scegliendo **Configura progetto** sotto **Impostazioni**). Se la tua organizzazione utilizza un'istanza regionale, cloud privato o on-premise di Axe Developer Hub, imposta ancheSERVER_URLsull'URL di base di tale istanza (per esempio,https://axe-eu.deque.com); altrimenti, omettiSERVER_URLe verrà utilizzato ilhttps://axe.deque.compredefinito. -
Crea un'istanza di
PuppeteerControllere avvolgi il tuobrowserContextdi Puppeteer:// 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) -
Infine, assicurati che tutti i risultati dei test di Axe Watcher siano eliminati. Per fare ciò, aggiungi il seguente blocco di codice al codice di smantellamento dei test (tipicamente in un blocco
afterEach):afterEach(async () => { await controller.flush() });
