@houndly/reporter-cypress
v1.1.1
Published
Houndly reporter for Cypress test automation
Maintainers
Readme
@houndly/reporter-cypress
Manda os resultados do Cypress para o Houndly: cada teste automatizado vira uma execução no caso de teste correspondente, com erro, duração e as tentativas de retry.
npm install --save-dev @houndly/reporter-cypressConfiguração
No cypress.config.ts:
import { defineConfig } from 'cypress';
export default defineConfig({
e2e: {
setupNodeEvents(on, config) {
require('@houndly/reporter-cypress')(on, {
apiUrl: 'https://acme.moraylab.ai',
subdomain: 'acme',
projectKey: 'STUDIO',
authToken: process.env.HOUNDLY_AUTH_TOKEN,
environment: 'staging',
});
return config;
},
},
});| Campo | Obrigatório | O que é |
|---|---|---|
| apiUrl | sim | Endereço do workspace, https://acme.moraylab.ai |
| subdomain | sim, em qualquer Houndly implantado | O subdomínio do workspace, acme |
| projectKey | sim | A chave do projeto, STUDIO |
| authToken | sim | Chave de API pessoal, criada em Integrações → Chaves de API pessoais |
| testRunId | não | Manda os resultados para uma execução que já existe |
| executor | não | Quem rodou: GitHub Actions, Jenkins, Local |
| environment | não | staging, production |
| branch, commit | não | De onde veio o código |
| debug | não | Imprime o que foi enviado e o que foi ignorado |
O subdomain não é opcional na prática. Cada workspace do Houndly tem seu
próprio banco, e atrás de um proxy a API não deduz qual é pelo host. Faltando
esse campo a resposta é 401 Tenant database context not found — que parece
erro de token, e não é.
Marcar os testes
O reporter procura o identificador no nome do arquivo e no título do teste:
it('@houndly:STUDIO-TC-0182 abre o pedido em ordem reversa', () => { ... });
it('@tc:STUDIO-TC-0182 abre o pedido em ordem reversa', () => { ... });Vale o id que aparece na tela (STUDIO-TC-0182) ou o id interno do caso, o
cmt8foic30005u094mzx370xo que vem da API — esse, exatamente como está.
Teste sem marcador é descartado, porque não há a que ligá-lo e resultado no
caso errado ninguém percebe. Com debug: true o reporter diz quais ignorou.
Retries
Toda tentativa é enviada, não só a última. Um teste que falha e passa no retry é a evidência mais limpa de flakiness que existe — nada no código mudou entre as duas. As estatísticas da execução contam só a tentativa que decidiu o resultado, então um retry não transforma uma suíte de 20 testes em uma de 21.
Licença
MIT
