Event listener event.dispatcher.on(event.test.failed) doesn't work with Before and Background sections
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 35/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Stack de tecnologia
- javascript, node.js, playwright
- Domínio
- testing
Direção de pesquisa
Comece pelo hook event.dispatcher.on(event.test.failed) e rastreie como as falhas das seções BDD Before e Background são despachadas. Reproduza o comportamento com uma etapa de configuração que falhe e, em seguida, verifique se o listener recebe a falha e pode definir test._retries para esses cenários.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
What are you trying to achieve?
The goal - to create custom hook with event listener to perform retry of scenarios in case of getting failed tests due to certain network issues.
Custom hook has the following code:
`const event = require('codeceptjs').event;
module.exports = function () {
event.dispatcher.on(event.test.failed, function (test, err) {
switch (true) {
case err.message.includes(`browserContext.addCookies: Browser has been closed`):
case err.message.includes(`Cannot read property 'addCookies' of undefined`):
case err.message.includes(`Cannot read property 'waitForSelector' of null`):
case err.message.includes(`Cannot read property 'waitForSelector' of undefined`):
case err.message.includes(`Cannot read property 'goto' of undefined`):
case err.message.includes(`Cannot read property 'goto' of null`):
case err.message.includes(`page.goto: net::ERR_NETWORK_CHANGED`):
case err.message.includes(`page.goto: net::ERR_NAME_NOT_RESOLVED`):
case err.message.includes(`page.goto: net::ERR_TIMED_OUT`):
test._retries = 5;
break;
default:
return;
}
});
}`
What do you get instead?
It works when the scenarios are written without Before or Background section (for BDD tests), but since our test failure occurs in Before and Background sections (above issues usually happen exactly there), custom hook/event listener won't work.
Obviously, that in this case we have to duplicate a lot of steps in our project
Details
- CodeceptJS version: 3.0.7
- NodeJS Version: 14.15.1
- Operating System: Mac OS, Linux
- playwright: 1.12.0
- Linguagem predominante
- JavaScript
- Estrelas
- 4.2k
- Forks
- 756
- Merge médio
- 1d 6h
- PRs com merge (30d)
- 19
Preparar o ambiente
- Inclui um Dockerfile ou arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de codeceptjs/CodeceptJS
-
stale
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
codeceptjs/CodeceptJS#5420 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
stale
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
codeceptjs/CodeceptJS#5358 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
stale
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
codeceptjs/CodeceptJS#4958 · 10 comentários · 2 reações ·
Mantenedores costumam responder em até 1 dia
-
stale
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 72/100
codeceptjs/CodeceptJS#4778 · 3 comentários ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 68/100
codeceptjs/CodeceptJS#5725 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de codeceptjs/CodeceptJS
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
TheOdinProject/curriculum#31444 ·
Mantenedores costumam responder em até 1 dia
-
software-development-practices software-development-practices:nist-ssdf
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
githubnext/gh-aw-cao#15860 ·
Mantenedores costumam responder em até 1 dia
-
framework/gatsby help wanted kind/bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 87/100
Mantenedores costumam responder em até 2 dias
-
bug
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 92/100
PedestrianDynamics/pyFDS-Evac#476 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
aiko-chan-ai/DiscordBotClient#380 ·