Bug: retryOnFailedStep works only for the first test in the same run
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
- 58/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Ativa
- Stack de tecnologia
- javascript, playwright
- Domínio
- testing-qa
Direção de pesquisa
Comece pelo plugin retryFailedStep e sua interação com o helper do Playwright. Reproduza os dois cenários da issue e inspecione como o estado de retry é redefinido entre os testes, especialmente em torno de store.autoRetries e recorder.retries. Está concluído quando os passos com falha em ambos os cenários recebem os retries configurados.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
I have the following test file:
Feature("github testing")
Scenario("test", async ({ I }) => {
await I.amOnPage('https://github.com');
await I.click('thistextdoesnotexist');
})
Scenario("test2", async ({ I }) => {
await I.amOnPage('https://github.com');
await I.click('thistextdoesnotexisttoo');
})
and I enabled the retryFailedStep plugin (this is the only plugin, also using playwright helper)
I noticed that the plugin doesn't retry the click step in test2
I patched two functions in the plugin (codeceptjs v4.0.3):
99 const when = err => {
100 if (!enableRetry) return
101 if (store.debugMode) return false
102 console.log("store.autoRetries", store.autoRetries); // <-- this is new
103 if (!store.autoRetries) return false
104 if (err && err.isTerminal) return false
105 if (err && err.message && (err.message.includes('ERR_ABORTED') || err.message.includes('frame was detached') || err.message.includes('Target page, context or browser has been closed'))) return false
106 return true
107 }
and
140 if (scenarioRetries > 0 && config.deferToScenarioRetries !== false) {
141 store.autoRetries = false
142 return
143 }
144
145 const hasManualRetries = recorder.retries.some(retry => retry !== config) // in the second test, recorder.retries.length === 3
146 console.log("hasManualRetries", hasManualRetries); // <-- this is new
147 if (hasManualRetries) {
148 store.autoRetries = false
149 return
150 }
151
I ran it and this is the output:
github testing --
hasManualRetries false
store.autoRetries true
store.autoRetries true
store.autoRetries true
store.autoRetries true
✖ test in 7886ms
hasManualRetries true
store.autoRetries false
store.autoRetries false
✖ test2 in 5760ms
Thanks!
- 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 1/5 1-3 horas Facilidade para iniciantes 72/100
nishantwrp/gsoc-organizations#213 ·
-
Price: 75 USD Priority: 2 (Medium) Time: <1 Hour
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
resend/resend-skills#144 ·
Mantenedores costumam responder em até 1 dia
-
[BUG] Traffic chart tests are flaky: the page's startup load overwrites the test's stubbed dataAbertabug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
ScottKirvan/Smokey#33 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
openai/codex-plugin-cc#798 ·
Mantenedores costumam responder em até 2 dias