Como Gerar Dados Fakes de Testes no Playwright com Faker API - QA na Prática
Como Gerar Dados Fakes de Testes no Playwright com a Faker API
Quem nunca passou pela frustração de rodar um teste automatizado de cadastro de cliente, por exemplo, e ele falhar porque o e-mailteste123@gmail.com já existia no banco de dados? Criar e gerenciar massa de dados válida é um dos maiores desafios encontrados na rotina diária de nós engenheiros de qualidade
Se você utiliza o Playwright para suas automações, existe uma maneira elegante, robusta e totalmente dinâmica de resolver isso: integrando a biblioteca Faker (ou @faker-js/faker). Neste artigo do QA na Prática, você vai aprender a configurar e gerar nomes, e-mails, senhas e até documentos dinâmicos para seus testes de ponta a ponta.
Por que parar de usar dados estáticos?
Colocar valores fixos no seu código (o famoso hardcoded) direto nos campos de input gera problemas graves, como:
- Testes Intermitentes (Flaky Tests): O teste passa na primeira execução, mas falha na segunda porque viola a restrição de campos únicos no banco de dados.
- Falta de Cobertura Real: Testar sempre com o mesmo tamanho de palavra ou formato de texto esconde bugs de validação de layout que só aconteceriam com dados reais da produção.
Passo 1: Instalando a Faker API no seu projeto
A biblioteca oficial e mantida pela comunidade para o ecossistema JavaScript/TypeScript é o @faker-js/faker. Para instalá-la na pasta do seu projeto de automação, execute o comando abaixo no terminal:
npm install --save-dev @faker-js/faker
Passo 2: Criando o Script de Teste Automatizado
Agora, vamos criar um cenário prático. Imagine que precisamos preencher um formulário de cadastro que exige nome completo, e-mail corporativo, telefone e uma bio de apresentação. Veja como o código fica limpo e inteligente:
import { test, expect } from '@playwright/test';
import { fakerPT_BR as faker } from '@faker-js/faker';
test('Deve realizar o cadastro de um novo usuário com dados dinâmicos', async ({ page }) => {
// Gerando os dados fakes em português do Brasil
const nomeFake = faker.person.fullName();
const emailFake = faker.internet.email();
const telefoneFake = faker.phone.number();
const textoBio = faker.lorem.paragraph();
// Acessando a página do formulário
await page.goto('https://seu-sistema-de-testes.com/cadastro');
// Preenchendo os campos com a massa de dados gerada
await page.fill('input[name="nome"]', nomeFake);
await page.fill('input[name="email"]', emailFake);
await page.fill('input[name="telefone"]', telefoneFake);
await page.fill('textarea[name="biografia"]', textoBio);
// Clicando no botão de salvar
await page.click('button[type="submit"]');
// Validando se o cadastro foi concluído com sucesso
await expect(page.locator('.alert-success')).toBeVisible();
});
Dica Avançada: Localização para Português (pt_BR)
Um dos grandes diferenciais ao importar utilizando import { fakerPT_BR as faker } from '@faker-js/faker'; é garantir que os dados gerados tenham a estrutura do nosso país. A Faker API criará nomes comuns no Brasil (como "Silva", "Santos") e estruturas de telefone compatíveis com os nossos DDDs.
Dica do QA na Prática: Combinar dados dinâmicos com o Playwright diminui drasticamente o tempo gasto limpando bancos de dados de homologação e permite que sua esteira de CI/CD rode infinitas vezes sem conflitos de registros!
Conclusão
Gerar dados realistas eleva o nível técnico dos seus scripts e aproxima a automação do comportamento real do usuário final.
Você já conhecia ou utiliza a Faker API nos seus projetos com Playwright? Conta aqui nos comentários abaixo como você gerencia as massas de testes no seu time atual!
Comentários
Postar um comentário