Playwright:Framework de Testes Web Multi-navegador¶
Playwright é um framework de código aberto desenvolvido pela Microsoft para automação e teste de aplicações web. Ele permite controlar Chromium, Firefox e WebKit usando uma única API, facilitando a criação de testes end-to-end e scripts de automação que funcionam de forma consistente em diferentes navegadores.
Instalação e Opções de Uso¶
Existem diferentes maneiras de integrar o Playwright ao seu fluxo de trabalho, cada uma atendendo a um caso de uso específico:
| Melhor para | Comando de instalação |
|---|---|
| Playwright Test (teste end-to-end) | npm init playwright@latest |
| Playwright CLI (agentes de código) | npm i -g @playwright/cli@latest |
| Playwright MCP (agentes de IA e automação LLM) | npx @playwright/mcp@latest |
| Playwright Library (scripts de automação de navegador) | npm i playwright |
| Extensão VS Code (autor e depuração de testes) | Instalar via Marketplace (ms-playwright.playwright) |
Dica
Ao usar npm init playwright@latest, o instalador já baixa os binários dos navegadores necessários (Chromium, Firefox, WebKit) e configura o projeto de testes.
Escrevendo e Executando Testes¶
Com Playwright Test você pode criar testes usando a sintaxe familiar de test e expect do JavaScript/TypeScript:
import { test, expect } from '@playwright/test';
test('tem título correto', async ({ page }) => {
await page.goto('https://playwright.dev/');
await expect(page).toHaveTitle(/P l a y w r i g h t/);
});
test('clica no link Get started', async ({ page }) => {
await page.goto('https://playwright.dev/');
await page.getByRole('link', { name: 'Get started' }).click();
await expect(page.getByRole('heading', { name: 'Installation' })).toBeVisible();
});
Para executar os testes, basta rodar:
Atenção
Cada teste roda em um contexto de navegador isolado, garantindo que não haja interferência de estado entre testes.
Recursos Adicionais¶
- Auto-waiting: o Playwright aguarda automaticamente que elementos estejam prontos antes de realizar ações, reduzindo a necessidade de
sleepou esperas manuais. - Asserções web-first: integração com expectações que funcionam diretamente com propriedades do DOM.
- Suporte a múltiplos idiomas: além de JavaScript/TypeScript, háBindings para Python, Java e .NET.
- Integração com CI/CD: fácil de incorporar em pipelines de GitHub Actions, GitLab CI, Azure Pipelines, etc.
Pontos-chave¶
- Playwright oferece uma API unificada para Chromium, Firefox e WebKit.
- Diversos modos de instalação atendem a testes, CLI, agentes de IA e extensões de IDE.
- Recursos como auto-waiting e isolamento de navegador aumentam a confiabilidade dos testes.
Ferramentas e Tecnologias¶
- [[Playwright]]
- [[Chromium]]
- [[Firefox]]
- [[WebKit]]
- [[npm]]
- [[Visual Studio Code]]
Nota pessoal
https://github.com/microsoft/playwright