Instrucciones para Puppeteer y TypeScript
Configurando tus pruebas con Puppeteer y TypeScript
-
En el nivel raíz de tu carpeta de pruebas, instala el paquete
@axe-core/watchery todas sus dependencias usandonpmo tu gestor de paquetes preferido (por ejemplo,yarnopnpm).npm install --save-dev @axe-core/watcher -
En tu archivo o archivos de prueba, importa la función
puppeteerConfig(), la funciónwrapPuppeteer()y la clasePuppeteerControllerde@axe-core/watcher/puppeteer:import { puppeteerConfig, wrapPuppeteerPage, PuppeteerController } from '@axe-core/watcher/puppeteer' -
Actualiza tu código de configuración de pruebas (típicamente en un bloque
beforeobeforeAll) envolviendo cualquier código existente para crear una instancia debrowsercon una llamada apuppeteerConfig(), mientras obtienes tu clave API del entorno (comoACCESSIBILITY_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 }) );Asegúrese de configurar
ACCESSIBILITY_API_KEYyPROJECT_IDen su entorno con su clave API personal (que se encuentra en su cuenta de axe, pestaña API KEYS) y su ID de proyecto (mostrado en la parte superior de estas instrucciones cuando creó su proyecto o disponible en la página de Proyectos eligiendo Configurar proyecto bajo Configuración). Si su organización utiliza una instancia regional, nube privada o local de Axe Developer Hub, configure tambiénSERVER_URLcon la URL base de esa instancia (por ejemplo,https://axe-eu.deque.com); de lo contrario, omitaSERVER_URLy se usará elhttps://axe.deque.compredeterminado. -
Crea una instancia de
PuppeteerControllery envuelve tu PuppeteerbrowserContext:// 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) -
Finalmente, asegura que todos los resultados de las pruebas de axe Watcher se vacíen. Para hacerlo, agrega el siguiente bloque de código a tu código de desmantelamiento de pruebas (típicamente en un bloque
afterEach):afterEach(async () => { await controller.flush() });
