Usar Chrome para Pruebas o Chromium con Axe Watcher
Cómo instalar y configurar Chrome para Pruebas o Chromium en plataformas que se conectan a un navegador instalado en el sistema
Axe Watcher solo es compatible con Google Chrome para Pruebas o Chromium. La versión regular de Chrome 139 y posteriores no son compatibles.
Las plataformas de prueba que gestionan su propia instalación de navegadores (Playwright y Puppeteer) no se ven afectadas; descargan un Chromium compatible automáticamente. Las plataformas que se conectan a un navegador ya instalado en la máquina (WebdriverIO, WebDriverJS y Java Selenium) requieren que instales Chrome para Pruebas o Chromium y configures explícitamente su ruta.
Instalar Chrome para Pruebas o Chromium
Elige uno de los siguientes métodos de instalación:
-
Usando npm:
@puppeteer/browserses una herramienta de descarga de navegadores independientes; no requiere que Puppeteer esté instalado en tu proyecto. Para instalar Chrome para Pruebas, ejecuta:npx @puppeteer/browsers install chrome@stablePara instalar Chromium en su lugar, ejecuta:
npx @puppeteer/browsers install chromium@latestEl comando imprime la ruta al binario instalado al final de su salida, por ejemplo:
chrome@stable /home/user/.cache/puppeteer/chrome/linux-136.0.7103.92/chrome-linux64/chromeEstablece la variable de entorno
CHROME_PATHa esa ruta antes de ejecutar tus pruebas.important@puppeteer/browsers installdescarga el navegador en un subdirectorio del directorio de trabajo actual. Ejecuta el comando desde un lugar donde sea apropiada una descarga grande y considera añadir el directorio resultante a tu.gitignore. -
Usando GitHub Actions: Añade el siguiente paso a tu archivo de flujo de trabajo. Para instalar Chrome para Pruebas:
- name: Setup Chrome for Testing uses: browser-actions/setup-chrome@latest id: setup-chrome with: chrome-version: stable install-chromedriver: truePara instalar Chromium en su lugar, usa
latestparachrome-version:- name: Setup Chromium uses: browser-actions/setup-chrome@latest id: setup-chrome with: chrome-version: latest install-chromedriver: trueEn ambos casos, la ruta del binario está disponible desde la salida del paso:
${{ steps.setup-chrome.outputs.chrome-path }}
Configurar tu plataforma
Una vez que CHROME_PATH esté configurado, configura tu entorno de pruebas de la siguiente manera.
WebdriverIO
Pasa la ruta del binario dentro de goog:chromeOptions en tus capacidades de WebdriverIO.
Para el paquete independiente (wdioConfig()):
const browser = await remote(
wdioConfig({
axe: {
apiKey: ACCESSIBILITY_API_KEY,
projectId: PROJECT_ID
},
capabilities: {
browserName: 'chrome',
'goog:chromeOptions': {
binary: process.env.CHROME_PATH
}
}
})
)Para WDIO Testrunner (wdioTestRunner()):
export const config = wdioTestRunner({
axe: {
apiKey: ACCESSIBILITY_API_KEY,
projectId: PROJECT_ID
}
}, {
capabilities: [{
browserName: 'chrome',
'goog:chromeOptions': {
binary: process.env.CHROME_PATH
}
}]
})WebDriverJS
Llama a webdriverConfig() primero para obtener el objeto de opciones de Chrome, luego establece la ruta del binario antes de construir el navegador:
const chromeOptions = webdriverConfig({
axe: {
apiKey: ACCESSIBILITY_API_KEY,
projectId: PROJECT_ID
}
})
chromeOptions.setBinaryPath(process.env.CHROME_PATH)
const browser = await new Builder()
.forBrowser('chrome')
.setChromeOptions(chromeOptions)
.build()Java Selenium
Configura la ruta del binario en ChromeOptions antes de llamar a watcher.configure():
AxeWatcherOptions options =
new AxeWatcherOptions()
.setApiKey(System.getenv("ACCESSIBILITY_API_KEY"))
.setProjectId(System.getenv("PROJECT_ID"));
AxeWatcher watcher = new AxeWatcher(options);
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.setBinary(System.getenv("CHROME_PATH"));
chromeOptions = watcher.configure(chromeOptions);
WebDriver wrappedDriver = watcher.wrapDriver(new ChromeDriver(chromeOptions));