Use o Chrome para Testes ou o Chromium com o 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

Como instalar e configurar o Chrome para Testes ou o Chromium para plataformas que se conectam a um navegador instalado no sistema

Not for use with personal data

O Axe Watcher suporta apenas Google Chrome para Testes ou Chromium. As versões regulares do Chrome 139 e posteriores não são suportadas.

As plataformas de teste que gerenciam suas próprias instalações de navegador (Playwright e Puppeteer) não são afetadas; elas baixam automaticamente um Chromium compatível. Plataformas que se conectam a um navegador já instalado na máquina (WebdriverIO, WebDriverJS e Java Selenium) exigem que você instale o Chrome para Testes ou o Chromium e configure seu caminho explicitamente.

Instale o Chrome para Testes ou o Chromium

Escolha um dos seguintes métodos de instalação:

  • Usando npm: @puppeteer/browsers é uma ferramenta de download de navegador independente; não requer que o Puppeteer esteja instalado no seu projeto. Para instalar o Chrome para Testes, execute:

    npx @puppeteer/browsers install chrome@stable

    Para instalar o Chromium, execute:

    npx @puppeteer/browsers install chromium@latest

    O comando imprime o caminho para o binário instalado ao final de sua saída, por exemplo:

    chrome@stable /home/user/.cache/puppeteer/chrome/linux-136.0.7103.92/chrome-linux64/chrome

    Defina a variável de ambiente CHROME_PATH para esse caminho antes de executar seus testes.

    important

    @puppeteer/browsers install baixa o navegador em um subdiretório do diretório de trabalho atual. Execute o comando de um local onde um grande download seja apropriado e considere adicionar o diretório resultante ao seu .gitignore.

  • Usando o GitHub Actions: Adicione a seguinte etapa ao seu arquivo de fluxo de trabalho. Para instalar o Chrome para Testes:

    - name: Setup Chrome for Testing
      uses: browser-actions/setup-chrome@latest
      id: setup-chrome
      with:
        chrome-version: stable
        install-chromedriver: true

    Para instalar o Chromium, use latest para chrome-version:

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

    Em ambos os casos, o caminho do binário está disponível a partir da saída da etapa:

    ${{ steps.setup-chrome.outputs.chrome-path }}

Configure Sua Plataforma

Uma vez que CHROME_PATH estiver definido, configure sua configuração de teste da seguinte forma.

WebdriverIO

Passe o caminho do binário dentro de goog:chromeOptions em suas capacidades do WebdriverIO.

Para o pacote autônomo (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 o 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

Chame webdriverConfig() primeiro para obter o objeto de opções do Chrome, em seguida, defina o caminho do binário antes de construir o 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

Defina o caminho do binário em ChromeOptions antes de chamar 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));