Usar Chrome para Pruebas o Chromium con Axe Watcher

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard

Cómo instalar y configurar Chrome para Pruebas o Chromium en plataformas que se conectan a un navegador instalado en el sistema

Not for use with personal data

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/browsers es 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@stable

    Para instalar Chromium en su lugar, ejecuta:

    npx @puppeteer/browsers install chromium@latest

    El 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/chrome

    Establece la variable de entorno CHROME_PATH a esa ruta antes de ejecutar tus pruebas.

    important

    @puppeteer/browsers install descarga 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: true

    Para instalar Chromium en su lugar, usa latest para chrome-version:

    - name: Setup Chromium
      uses: browser-actions/setup-chrome@latest
      id: setup-chrome
      with:
        chrome-version: latest
        install-chromedriver: true

    En 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));