Event listener event.dispatcher.on(event.test.failed) doesn't work with Before and Background sections
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- javascript, node.js, playwright
- Área
- testing
Línea de trabajo
Empieza en el hook event.dispatcher.on(event.test.failed) y sigue cómo se despachan los fallos de las secciones Before y Background de BDD. Reproduce el comportamiento con un paso de configuración que falle y, después, verifica que el listener recibe el fallo y puede establecer test._retries para esos escenarios.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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
- Lenguaje dominante
- JavaScript
- Estrellas
- 4.2k
- Forks
- 756
- Merge medio
- 2 d 9 h
- PR fusionados (30 d)
- 16
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de codeceptjs/CodeceptJS
-
stale
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
codeceptjs/CodeceptJS#5420 · 1 comentario ·
-
stale
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
codeceptjs/CodeceptJS#5358 · 1 comentario ·
-
stale
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
codeceptjs/CodeceptJS#4958 · 10 comentarios · 2 reacciones ·
-
stale
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
codeceptjs/CodeceptJS#4778 · 3 comentarios ·
-
stale
Dificultad 4/5 3-5 días Aptitud para principiantes 38/100
codeceptjs/CodeceptJS#5618 · 1 comentario ·
Todos los issues de codeceptjs/CodeceptJS
Issues similares
-
curation good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
amponce/archive-movie-browser#186 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
clerk/javascript#9852 ·
-
bug p1 tools
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
HarperFast/skills#96 ·
-
factory-active factory-automatic task-bug-reproduction-cannot-reproduce task-identify-harness-labels-done task-identify-issue-type-done
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100