KraniQA

Como automatizar testes com Playwright usando IA

Guia para quem testa na mão e quer o primeiro teste automatizado rodando · 29 de setembro de 2026

Se toda sprint você refaz a mesma regressão clicando pelo sistema, este guia é para você. Em vez de decorar a API do Playwright antes de começar, você vai escrever o caso do jeito que já escreve hoje e usar a IA para transformar esse caso em código, sem cair nos erros mais comuns de quem faz isso pela primeira vez.

Por que Playwright

1. Crie o projeto

Você precisa do Node.js 20 ou mais novo. Numa pasta vazia (ou no repositório do seu sistema), rode:

npm init playwright@latest

Aceite as opções padrão (TypeScript, pasta tests). O comando instala os navegadores e cria o playwright.config.ts e um teste de exemplo. Para conferir que está tudo certo:

npx playwright test

2. Comece pelo caso, não pelo código

O melhor ponto de partida é o caso de teste que você já escreveria para rodar na mão. Um fluxo por caso, passos na ordem e, principalmente, o que conferir no fim:

Sem a última linha, o teste só prova que nada quebrou no caminho. Mais dicas em como escrever um bom caso.

3. Como fica em Playwright

O caso acima vira este arquivo, tests/login.spec.ts:

import { test, expect } from '@playwright/test';

test('login com senha errada mostra erro', async ({ page }) => {
  await page.goto('https://seu-sistema.com/login');
  await page.getByLabel('E-mail').fill('qa@exemplo.com');
  await page.getByLabel('Senha').fill('senha-errada');
  await page.getByRole('button', { name: 'Entrar' }).click();
  await expect(page.getByText('E-mail ou senha inválidos')).toBeVisible();
});

Repare que cada linha do caso virou uma linha do teste. getByLabel acha o campo pelo rótulo, getByRole acha o botão pelo texto, e o expect é a conferência do fim.

4. Usando a IA para escrever o teste

O Claude e o ChatGPT escrevem Playwright muito bem. Um pedido que funciona:

Escreva um teste Playwright em TypeScript para o caso abaixo. Use getByRole, getByLabel e getByText, nunca seletores CSS de classe. Não use waitForTimeout. Termine com um expect que confere o resultado.

Caso: (cole aqui os passos do seu caso)

O problema: a IA não está vendo o seu sistema. Ela adivinha que o botão se chama "Entrar" e que o campo tem o rótulo "E-mail". Quando a adivinhação erra, o teste falha e você volta ao chat. Três formas de diminuir isso:

5. Rode e veja o que aconteceu

npx playwright test            # roda todos os testes
npx playwright test --ui       # modo visual: passo a passo, com a página ao lado
npx playwright show-report     # relatório da última rodada

O modo --ui é o melhor amigo de quem está começando: dá para ver cada passo, o que a página mostrava e onde o teste parou.

Erros comuns de quem está começando

6. Rodando sozinho a cada mudança (CI)

O npm init playwright oferece criar um workflow do GitHub Actions. Com ele, os testes rodam a cada push e o relatório fica salvo na execução. Detalhes em rodar os testes no CI.

O caminho mais curto: a IA vendo o seu site

O maior atrito do passo 4 é a IA escrever sem ver a página. O KraniQA resolve exatamente isso: você escreve o caso em português, o Claude abre o seu sistema numa janela do app, faz o caminho de verdade e escreve o teste Playwright com os seletores que existem. O arquivo fica no seu repositório e roda com npx playwright test, com ou sem o app.

Para quem já usa o Claude (Pro ou Max), no Windows. Plano gratuito para começar e 7 dias do plano completo sem cartão. Baixar o KraniQA