Skip to content
Latchkey

O Que É Playwright? A Ferramenta de Testes de Navegador Ponta a Ponta

Playwright é uma ferramenta de automação de navegador e de testes ponta a ponta que controla navegadores reais Chromium, Firefox e WebKit para testar aplicações web como os usuários as experimentam.

Playwright testa sua aplicação da mesma forma que uma pessoa a usa: clicando, digitando e navegando em um navegador real. Ele suporta todos os principais engines, aguarda automaticamente que os elementos estejam prontos e foi construído para tornar mais confiáveis os testes ponta a ponta, notoriamente flaky.

O que Playwright é

Playwright é um framework de testes ponta a ponta e uma biblioteca de automação de navegador da Microsoft. Ele controla Chromium, Firefox e WebKit por meio de uma única API, suporta múltiplas linguagens (JavaScript, Python, Java, .NET) e inclui um test runner com paralelização, tracing e capturas de tela.

Auto-waiting e confiabilidade

Uma grande causa de testes E2E flaky é agir antes de a página estar pronta. Playwright faz auto-waiting para que os elementos estejam visíveis, habilitados e estáveis antes de interagir, e suas asserções web-first fazem retry até passarem ou expirarem. Recursos como tracing e vídeo em caso de falha tornam muito mais fácil diagnosticar as flakes restantes.

Um exemplo de teste

Um teste navega e faz asserções sobre a página.

A minimal Playwright test
import { test, expect } from "@playwright/test";

test("homepage has title", async ({ page }) => {
  await page.goto("https://example.com");
  await expect(page).toHaveTitle(/Example/);
});

Papel em CI/CD

Em CI, Playwright executa testes ponta a ponta contra uma aplicação buildada ou implantada, saindo com código diferente de zero em caso de falha. Testes de navegador são pesados: eles instalam binários de navegador, rodam em paralelo e podem ser lentos e flaky. Executá-los em runners gerenciados mais rápidos, fazer shard entre jobs e usar auto-retry em falhas transitórias mantém o estágio E2E rápido e confiável.

Alternativas

Cypress é uma ferramenta E2E popular com uma forte experiência de desenvolvimento, mas com uma arquitetura diferente. Selenium é o padrão estabelecido há muito tempo e agnóstico de linguagem. Playwright se destaca pelo suporte a múltiplos engines, auto-waiting e paralelismo e tracing integrados.

Principais conclusões

  • Playwright controla navegadores reais Chromium, Firefox e WebKit para testes E2E.
  • O auto-waiting e as asserções com retry reduzem a flakiness.
  • Execuções E2E são pesadas; faça shard delas e use auto-retry para manter o CI rápido.

Guias relacionados