Automação e testes com o Chrome

Os testes automatizados do navegador são essenciais para criar aplicativos da Web robustos e de alta qualidade. Se você estiver executando suítes de testes de integração contínua (CI) de ponta a ponta, realizando testes de regressão em versões do navegador ou automatizando interações do navegador, o Chrome oferece um conjunto dedicado de ferramentas e modos de execução projetados para desenvolvedores e engenheiros de automação de testes.

Esta visão geral apresenta os principais produtos no ecossistema de automação e testes do Chrome: Chrome for Testing, ChromeDriver, Puppeteer e modo headless do Chrome. Ela também explica como você pode usá-los juntos para fluxos de trabalho de teste confiáveis e reproduzíveis.


Chrome for Testing

O Chrome for Testing é uma variação do Chrome dedicada a casos de uso de teste e automação de apps da Web.

Ao executar suítes de testes de ponta a ponta ou pipelines de integração contínua (CI), geralmente é necessário ter resultados consistentes e reproduzíveis em execuções de testes repetidas. Em vez de depender de instalações padrão do navegador, o Chrome for Testing permite baixar e fixar versões específicas do Chrome para seus ambientes de teste.

Principais recursos

  • Downloads versionados sob demanda:acesse binários específicos e versionados do Chrome para sempre testar a versão exata escolhida.
  • Binários pareados em todos os canais:para cada versão do Chrome em todos os canais (Stable, Beta, Dev e Canary), o Chrome for Testing oferece binários correspondentes do Chrome pareados com os binários relevantes do ChromeDriver, bem como o shell headless antigo do Chrome (chrome-headless-shell) para quem ainda o usa em testes automatizados.
  • Automação de download fácil:os binários podem ser baixados facilmente usando o utilitário de linha de comando @puppeteer/browsers ou consultados pelo painel de disponibilidade.

Saiba mais


ChromeDriver

ChromeDriver é um servidor independente de código aberto que implementa o padrão W3C WebDriver e o protocolo bidirecional WebDriver BiDi. Ele atua como a ponte entre frameworks de teste baseados no WebDriver (como Selenium, WebDriverIO e Nightwatch) e o navegador Chrome.

Principais recursos

  • Suporte ao W3C WebDriver e ao WebDriver BiDi:oferece suporte a comandos de automação do WebDriver clássico e comunicação bidirecional em tempo real via WebDriver BiDi para escuta rápida de eventos, monitoramento de rede e interceptação de registros.
  • Cojuntamente lançado com o Chrome for Testing:as versões do ChromeDriver são integradas diretamente à infraestrutura do Chrome for Testing. Para cada versão do Chrome for Testing, uma versão correspondente do ChromeDriver é lançada simultaneamente, eliminando problemas de incompatibilidade de versões.

Saiba mais


Animador de fantoches

O Puppeteer é uma biblioteca JavaScript desenvolvida pelo Google que fornece uma API de alto nível para controlar o Chrome pelo Chrome DevTools Protocol (CDP) ou pelo WebDriver BiDi.

Principais recursos

  • Automação sem configuração:o Puppeteer baixa automaticamente um binário compatível do Chrome for Testing por padrão, permitindo a automação do navegador pronta para uso.
  • Controle total sobre o Chrome:capture capturas de tela, gere PDFs, automatize o envio de formulários, intercepte solicitações de rede e execute testes de interface no modo com interface ou headless.

Saiba mais


Modo headless do Chrome

O modo headless do Chrome permite executar o navegador em um ambiente autônomo sem nenhuma interface de usuário visível. Ao transmitir a flag --headless na linha de comando, o Chrome é executado de maneira limpa em ambientes de servidor, contêineres e pipelines de CI/CD.

Principais recursos

  • Mecanismo de navegador unificado:o modo headless moderno (--headless) compartilha a mesma implementação de navegador que o Chrome com interface.
  • Recursos avançados de automação e depuração:oferece suporte à captura de capturas de tela, geração de PDF, depuração remota e configuração de tela virtual.

Saiba mais


Exemplo: como usar esses produtos juntos

Em um fluxo de trabalho típico de testes automatizados ou integração contínua (CI), esses produtos funcionam juntos para fornecer um ambiente de teste reproduzível e autônomo:

  1. Binário do navegador (Chrome for Testing) : use um binário específico e fixado por versão do Chrome for Testing para que os resultados do teste sejam determinísticos em todas as execuções.
  2. Modo de execução (modo headless do Chrome) : execute esse binário no modo headless (--headless) para que os testes sejam executados de maneira limpa em servidores, contêineres ou pipelines de CI sem uma exibição gráfica.
  3. Driver de automação (Puppeteer ou ChromeDriver) : conduza o navegador usando uma biblioteca de automação como o Puppeteer ou qualquer outro framework de teste conectado pelo WebDriver BiDi.

O Puppeteer conecta essas partes automaticamente. Quando instalado, ele baixa um binário compatível do Chrome for Testing e o inicia no modo headless por padrão.

Ao usar frameworks do W3C WebDriver (como Selenium ou WebdriverIO), você pode baixar automaticamente um par correspondente de binários do Chrome for Testing e do ChromeDriver e transmitir a flag --headless para executar sem interface.


Orientações para empresas e canais de lançamento