zephyrscale-integration
v1.0.0
Published
CLI simples e intuitiva para upload de relatórios JUnit para Zephyr Scale com configuração global de tokens e suporte a múltiplos frameworks de teste
Downloads
3
Maintainers
Readme
Zephyr Uploader CLI
CLI simples e intuitiva para upload de relatórios JUnit para Zephyr Scale com configuração global de tokens, suporte a múltiplos frameworks de teste (Playwright, Cucumber/Ruby e outros) e integração facilitada em pipelines CI/CD.
ㅤ ㅤ
📋 Pré-requisitos
- Node.js versão 18 ou superior
- Token de acesso do Zephyr Scale
- Project Key do projeto no Zephyr
Como obter o Token do Zephyr:
Acessar Documentação ㅤㅤ ㅤ ㅤ
🚀 Instalação
# Instalação global (recomendado)
npm install -g zephyrscale-integrationㅤ ㅤ
🔧 Configuração
Configurar token globalmente (recomendado)
# Configurar token uma única vez
zephyr config eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...
# Verificar configuração
zephyr configO token será salvo em ~/.zephyr.json e usado automaticamente em futuros uploads.
Opções da CLI
| Opção | Descrição | Padrão |
|-------|-----------|--------|
| -p, --project-key | Chave do projeto no Zephyr | - |
| -t, --auth-token | Token de autenticação | - |
| -d, --reports-dir | Diretório com relatórios JUnit | ./logs/junit |
| -o, --output | Arquivo ZIP de saída | ./logs/junit.zip |
| -h, --help | Mostrar ajuda | - |
ㅤ ㅤ
🔧 Integração com Frameworks
Playwright
// playwright.config.js
const { defineConfig } = require('@playwright/test');
module.exports = defineConfig({
// ... outras configurações
reporter: [
['html'],
// Incluir a linha de geraçãop dos arquivos junit no diretorio ./logs/junit
['junit', { outputFile: './logs/junit' }]
]
});
// package.json
{
"scripts": {
"test": "playwright test",
"test:zephyr": "playwright test && zephyr -p ID_PROJECT"
}
}Cucumber/Ruby
# cucumber.yml
# Incluir a linha de geraçãop dos arquivos junit no diretorio ./logs/junit
default: --publish-quiet -p junit
junit: --format junit --out ./logs/junitIntegração com Zephyr
Após os passos anteriores executado com sucesso, desde baixado a dependência até a geração dos relatórios JUnit, basta executar os comandos abaixo:
# Upload básico (usa token global configurado)
zephyr -p ID_PROJECT
# Upload com credenciais específicas(informando token)
zephyr -p ID_PROJECT -t seu-tokenㅤ ㅤ
Comandos disponíveis:
# Configurar token globalmente (CASO NÃO TENHA CONFIGURADO ANTERIORMENTE, PARA VALIDAR EXECUTE: zephyr-integration config)
zephyr config <seu-token>
# Verificar configuração atual
zephyr config
# Upload básico (usa token configurado)
zephyr -p ID_PROJECT
# Upload com credenciais específicas
zephyr -p ID_PROJECT -t seu-token
# Upload com diretório customizado
zephyr -p ID_PROJECT -d ./custom-reports
# Upload com arquivo de saída customizado
zephyr -p ID_PROJECT -o ./custom-output.zip
# Mostrar ajuda
zephyr --helpㅤ ㅤ
🔍 Troubleshooting
Erro: "zephyr: command not found"
# Instalar globalmente
npm install -g zephyrscale-integration
Erro: "Project Key e Auth Token são obrigatórios"
# Configurar token globalmente
zephyr config seu-tokenErro: "Directory not found"
# Verificar se os testes foram executados com reporter junit
# Verificar se o diretório de saída está correto
ls -la ./logs/junitErro: "Configuração inválida"
- Verificar se o projectKey está correto
- Verificar se o token está válido
Erro de upload para Zephyr
- Verificar conexão com a internet
- Verificar se o arquivo ZIP foi criado corretamente
- Verificar logs de erro da API do Zephyr ㅤ ㅤ
📊 Logs Esperados
Sucesso:
🚀 Zephyr Uploader CLI
========================
📦 Criando arquivo ZIP...
📤 Fazendo upload para Zephyr...
✅ Upload realizado com sucesso!
📊 Ciclo de teste: PROJ-123
🧹 Arquivo ZIP removidoErro:
❌ Falha no upload: HTTP 401: Unauthorized - Invalid tokenㅤ ㅤ
📝 Notas Importantes
- Segurança: Nunca commitar tokens no repositório
- Versões: Sempre usar a versão mais recente da CLI
- Backup: Manter backup dos relatórios locais
- Limpeza: Arquivos ZIP são removidos automaticamente após upload
- Performance: O upload pode levar alguns segundos dependendo do tamanho do arquivo
- CLI: A CLI facilita o uso e configuração do token globalmente
- Compatibilidade: A CLI é compatível com Node.js 18+
