in BDD or Gherkin mode, the `After` is not synchronous where next scenario starts (while the `After` is still executing)
nnanoob opened this issue · comments
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
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.
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.