You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
RetryFailedStep doesn't work with Retry, that was add in 3.4.1 #3600
the reason is that retryFailedStep not works properly in 3.4.1
than retryFailedStep must work!!!! and we go to
but in 3.4.1 we throw new ElementNotFound(locator, prefix, suffix); and that's it
After we throw new ElementNotFound we should go to ElementNotFound class
and after that error should be catch by return Promise.race([promise, Promise.resolve(res).then(fn)]).finally(() => clearTimeout(timer)).catch((err) => { for (const retryObj of retryRules) { if (!retryObj.when) return retry(err); if (retryObj.when && retryObj.when(err)) return retry(err); } throw err;
changed the title [-]Playwright doesn't wait automatically for element to be clickable, visible, etc.,[/-][+]RetryFailedStep doesn't work with 3.4.1[/+]on Jun 8, 2023
Activity
hatufacci commentedon Feb 21, 2023
there is no problem with "codeceptjs": "3.3.7",
Nikoms commentedon Feb 22, 2023
Which
playwrightversion are you using? I had the same problem than you with3.4.1andplaywright:1.13so I rolled backhatufacci commentedon Feb 22, 2023
i don't think it depends on playwright version
"playwright": "1.30.0",Nikoms commentedon Feb 22, 2023
Me neither, but it's always good to know :)
hatufacci commentedon Feb 22, 2023
@Nikoms do you use retryFailedStep plugin? :) i guess it's reason))))
hatufacci commentedon Feb 22, 2023
the reason is that retryFailedStep not works properly in 3.4.1



than retryFailedStep must work!!!! and we go to
but in 3.4.1 we throw new ElementNotFound(locator, prefix, suffix); and that's it
hatufacci commentedon Feb 22, 2023
After we throw new ElementNotFound we should go to ElementNotFound class

and after that error should be catch by
return Promise.race([promise, Promise.resolve(res).then(fn)]).finally(() => clearTimeout(timer)).catch((err) => { for (const retryObj of retryRules) { if (!retryObj.when) return retry(err); if (retryObj.when && retryObj.when(err)) return retry(err); } throw err;but it doesn't

Nikoms commentedon Feb 22, 2023
Yes, we use the
retryFailedStep, good catch 🚀fix broken update-slider
StanislavGrishaev commentedon Mar 30, 2023
same issue here, rollback to version
3.3.7helped[-]Playwright doesn't wait automatically for element to be clickable, visible, etc.,[/-][+]RetryFailedStep doesn't work with 3.4.1[/+]hatufacci commentedon Jul 13, 2023
It still the issue in 3.5.2 version :( @DavertMik could you please take a look on it?


3.3.7
3.5.2
hatufacci commentedon Jul 14, 2023
@Nikoms @StasGrishaevTutu could you please check your config file ? do you have allure: { } plugin in it ?
StanislavGrishaev commentedon Jul 14, 2023
hi there, in fact, I migrated from CodeceptJS to pure Playwright, so I can’t tell you anymore, unfortunately, sorry :)
Nikoms commentedon Jul 14, 2023
Same here, sorry...
hatufacci commentedon Jul 17, 2023
@DavertMik ok i reproduced the issue:
the issue is reproducible when use
retry: { BeforeSuite: 3, Before: 3, After: 3, AfterSuite: 3, },and
retryFailedStep: { retries: 3, defaultIgnoredSteps: [ 'amOnPage', 'wait*', 'send*', 'execute*', 'run*', 'have*' ], factor: 1.5, ignoredSteps: [ 'amOnPage', 'wait*', 'send*', 'execute*', 'run*', 'have*' ], enabled: true, },if use Before() - you could reproduce the issue.
[-]RetryFailedStep doesn't work with 3.4.1[/-][+]RetryFailedStep doesn't work with Retry, that was add in 3.4.1[/+]DavertMik commentedon Jul 19, 2023
Thank you for reporting this issue and thanks to @kobenguyent for the quick fix