tag-linter-playwright
v1.0.5
Published
Validador de tags para testes Playwright
Maintainers
Readme
tag-linter-playwright
Validador simples e robusto de tags para testes Playwright, baseado na mesma abordagem do ESLint, usando @typescript-eslint/parser para analisar seu código TypeScript ou JavaScript.
Compatível com Playwright, TypeScript e Node.js.
Instalação
Dependência local (recomendado):
npm install --save-dev tag-linter-playwrightInstalação Global
npm install -g tag-linter-playwrightComo utilizar
- Via script no package.json
Adicione um script:
"scripts": {
"lint:tags": "playwright-tag-linter"
}E rode:
npm run lint:tagsPor padrão, o linter procura arquivos de teste que sigam o padrão:
**/*.{spec,test}.{ts,js}
Se quiser customizar, use a flag --pattern:
npm run lint:tags --pattern "tests/**/*.spec.ts"- Via CLI
npx playwright-tag-linter --pattern "tests/**/*.spec.ts".tagslintrc.json
Você pode criar um arquivo .tagslintrc.json na raiz do projeto para configurar as regras do validador de tags. O linter usará essas configurações para validar seus testes e exibirá os respectivos avisos e erros conforme as regras definidas.
Exemplo:
{
"testPattern": "**/*.{spec,test}.{ts,js}",
"exclude": ["node_modules/**", "dist/**", "coverage/**", ".git/**"],
"requiredTags": ["@smoke", "@regression"],
"tagPattern": "^@[a-zA-Z0-9-_]+$",
"rules": {
"require-tags": "error",
"valid-tag-format": "warn",
"required-tags-present": "warn"
},
"tagCategories": {
"priority": ["@critical", "@high", "@medium", "@low", "@lowest"],
"type": ["@smoke", "@regression", "@functional", "@api", "@visual"],
"environment": ["@dev", "@staging", "@uat"]
}
}CLI
Opções da CLI
| Opção | Descrição | Exemplo |
|-------------------|----------------------------------------------|------------------------------|
| --pattern | Padrão glob para arquivos de teste | --pattern "tests/**/*.spec.ts" |
| --required | Tags obrigatórias (separadas por vírgula) | --required "@smoke,@critical" |
| --verbose | Exibe saída detalhada | --verbose |
| --config | Caminho para um arquivo .tagslintrc.json personalizado | --config ./config/tagslintrc.json |
Saída
$ npx playwright-tag-linter --required "@smoke,@critical" --verbose
✔ tests/login.spec.ts: Todas as tags obrigatórias estão presentes
⚠ tests/payment.spec.ts: Tag obrigatória @critical ausente
✖ tests/cart.spec.ts: Formato de tag inválido "@SmokeTest"🎥 Demo

Contribuição
Pull requests são bem-vindos! Abra uma issue para discutir melhorias ou bugs.
📜 Licença
Este projeto está licenciado sob a Licença MIT.
Happy Testing 🎭
Feito com 💛 por Jessica Silva.
