CodeceptJS
CodeceptJS copied to clipboard
in BDD or Gherkin mode, the `After` is not synchronous where next scenario starts (while the `After` is still executing)
What are you trying to achieve?
In BDD / Gherkin mode, After to be synchronous so it run to completion before the next scenario starts
Scenario 1 After --- run completely before Scenario 2 start Scenario 2
What do you get instead?
After
is asynchronous so it might still running while the next scenario already starting
It seems that the After
implementation is based on event which is independent from the promise chain.
Details
- CodeceptJS version: 3.5.13
- NodeJS Version: v18.19.0
- Operating System: macOS
- webdriverio 8.32.0
this is closely related to this https://github.com/codeceptjs/CodeceptJS/issues/3870 but in this case, we are on After
where we requires teardown of certain UI steps (which means we need to use the I
and the approach of recorder doesn't work for us) before proceeding to next scenario
Agreed… this is really troubling a lot especially handling the after test events in the UI. Would be great if @kobenguyent you can fix this. I believe there was a similar issue with WebdriverIO and they fixed it.
@DavertMik would you be able to help us with this issue? Pls let us of you need more info…
It seems that the After implementation is based on event which is independent from the promise chain.
@nnanoob @myrepojuly1987
sorry, I don't think I can provide a quick fix on this
maybe you could use recorder
to synchonize actions inside it?
After(() => {
recorder.add(() => {
// my actions
})
})
If you have better suggestion, please send a PR
@DavertMik Adding the actions to the recorder does not work and it just hangs. Sure, will check for better suggestions.
This issue is stale because it has been open for 90 days with no activity.