Playwright
O que é o Playwright, como ele captura telas em vários navegadores e como se compara ao Puppeteer para automação.
O Playwright é uma biblioteca de automação de navegadores de código aberto, mantida pela Microsoft. Ela controla Chromium, Firefox e WebKit por meio de uma única API e tem bindings oficiais para JavaScript e TypeScript, Python, Java e .NET. Um script abre páginas, clica, digita, espera a atividade de rede e lê o DOM, normalmente em um navegador headless, sem janela visível.
O Playwright vem com o próprio executor de testes, o Playwright Test, que adiciona execução paralela de testes, novas tentativas, rastreamento e asserções de captura de tela. Muitas equipes o usam para testes de ponta a ponta e para gerar capturas de tela como parte de um build ou de um pipeline de deploy.
O que o Playwright faz
- Abre uma página no Chromium, no Firefox ou no WebKit com o mesmo script.
- Emula um dispositivo: tamanho da viewport, fator de escala do dispositivo, toque, idioma, fuso horário e esquema de cores.
- Preenche formulários, clica em elementos e espera por seletores, requisições de rede ou estados de carregamento da página.
- Intercepta ou simula requisições de rede.
- Grava rastreamentos, vídeos e capturas de tela de cada execução de teste.
Playwright para capturas de tela
page.screenshot() salva a viewport atual como PNG ou JPEG. A opção fullPage captura a página rolável inteira, clip captura um retângulo e locator.screenshot() captura um único elemento. O deviceScaleFactor do contexto do navegador define se a saída tem resolução 1x ou 2x.
No Playwright Test, toHaveScreenshot() compara uma nova imagem com uma linha de base armazenada e falha o teste quando a diferença de pixels excede um limite. Essa é uma base comum para testes de regressão visual.
Playwright ou Puppeteer
As duas bibliotecas automatizam navegadores por código e capturam telas e PDFs. O Playwright suporta Chromium, Firefox e WebKit e tem bindings para quatro ecossistemas de linguagem. O Puppeteer é uma biblioteca Node.js focada no Chrome, com suporte ao Firefox adicionado depois. O Playwright inclui um executor de testes completo; o Puppeteer costuma ser combinado com um executor separado, como o Jest. A escolha geralmente depende da linguagem, da cobertura de navegadores e do que a equipe já usa.
Erros comuns
- Capturar antes de fontes da web, imagens ou conteúdo com lazy loading terminarem de carregar.
- Deixar banners de cookies ou widgets de chat no quadro.
- Comparar linhas de base geradas em sistemas operacionais diferentes, onde a renderização de fontes muda.
- Esquecer que a viewport padrão é pequena, não uma largura típica de desktop.
Repetindo as mesmas capturas o tempo todo?
O Website Capture do Temposhot captura uma lista de URLs em Desktop 1920×1080, Tablet 768×1024 ou Mobile 390×844 sem escrever um script. Veja automação de capturas de tela de sites.
Perguntas frequentes
O Playwright é gratuito?
Sim. O Playwright é de código aberto, sob a licença Apache 2.0.
O Playwright consegue capturar uma página web inteira?
Sim. Passe fullPage: true para page.screenshot(). Páginas com lazy loading podem precisar ser roladas antes para que todas as imagens carreguem.
O Playwright precisa de um navegador visível?
Não. Ele roda em modo headless por padrão e também pode rodar com janela visível para depuração.
Fontes
Recursos relacionados
- Início rápido do Website Capture: captura uma lista de URLs sem código.
- Opções do Website Capture: configurações de dispositivo, área, espera e formato.
- Comparar imagens: verifica diferenças entre duas capturas de tela no navegador.
Você tira as mesmas capturas de tela várias vezes?
O Temposhot captura uma tela, janela ou área em intervalos programados e exporta o conjunto como PDF, imagens, ZIP ou MP4. As ferramentas gratuitas do navegador capturam apenas uma imagem por vez.
Recursos relacionados
Termos relacionados
- PuppeteerO que é o Puppeteer, como ele captura telas e como se compara ao Playwright para automação de navegadores.
- Navegador headlessO que é um navegador headless, como ele é usado em capturas de tela automatizadas e quais armadilhas comuns evitar.
- Teste de regressão visualO que é o teste de regressão visual, como a comparação de capturas de tela identifica bugs de interface e armadilhas comuns.
- API de captura de telaO que é uma API de captura de tela, como ela funciona e quando usá-la para capturas programáticas.