Também encontrei o erro reportado por muitos alunos ao tentar executar o comando proposto 'npx cypress run --reporter mochawesome'
Analisando mais sobre o erro, verifiquei que a lib utilizada no curso está há dois anos sem atualização (https://www.npmjs.com/package/mochawesome) e algo pode ter mudado nas últimas versões do Cypress, causando esse erro.
Ao invés de utilizá-la, sugiro a seguinte alternativa que vem recebendo constantes atualizações https://www.npmjs.com/package/cypress-mochawesome-reporter.
Passo-a-passo para configuração:
Instale o novo pacote com o comando:
npm i --save-dev cypress-mochawesome-reporter
Edite o seu arquivo 'cypress.config.js' para o seguinte (adicionando a linha 2 e 5):
module.exports = {
reporter: 'cypress-mochawesome-reporter',
e2e: {
setupNodeEvents(on, config) {
require('cypress-mochawesome-reporter/plugin')(on);
},
},
};
Se você quiser gerar vídeos dos testes e adicionar um gráfico, mude para:
const { defineConfig } = require('cypress');
module.exports = defineConfig({
reporter: 'cypress-mochawesome-reporter',
video: true,
screenshotsFolder: 'screenshots',
reporterOptions: {
charts: true,
embeddedScreenshots: true,
inlineAssets: true,
reportDir: 'cypress/reports',
},
e2e: {
setupNodeEvents(on, config) {
require('cypress-mochawesome-reporter/plugin')(on);
},
},
});
Adicione esse import no arquivo 'e2s.js' no final do arquivo:
import 'cypress-mochawesome-reporter/register';
Agora é só rodar o comando abaixo para gerar os relatórios:
npx cypress run
Acesse o relatório em cypress/reports/index.html (ou mude a opção reportDir no cypress.config.js)
Isso também corrige o problema do report ser sobrescrito a cada arquivo executado. Isso acontecia quando utilizava a solução proposta no curso, fazendo com que o meu arquivo de relatório só apresentasse os dados da última suíte de testes.