codeceptjs / codeceptjs/CodeceptJS

Cannot grab browser logs on failure with multiple workers - question

未关闭
#2,818 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
enhancement
主要语言
JavaScript
星标
4.2k
派生
757
平均合并
2 天 9 小时
30 天内合并 PR
16

描述

#### What are you trying to achieve?

I want to grab browser logs when some test failed, tests are run using command: `./node_modules/.bin/codeceptjs run-workers 2 --grep "@sometesttag" --plugins allure`

And I see that custom hook:

```
event.dispatcher.on(event.test.failed, async (test, error) => {

})
```

inside which I use `await I.grabBrowserLogs();` is not working when we use multiple workers. (when we use `run-workers` command, with `run` this code works OK)

Tried also surround some part of the code with `try / catch` block and call `await I.grabBrowserLogs();` on error, but it does not work either.

Is this possible to make it working, simply to grab logs from browser on test failure (i.e. some element is not clickable on the page, or it is not in DOM), when we are using multiple workers? FYI - with standard `run` command I am using custom hook and it works like a charm. And I would like to achieve something similar but when multiple workers are used. Is this possible? I believe it might be doable using https://codecept.io/parallel/#custom-parallel-execution but then, I assume that browser control must be customized as well, and then we simply won't be able to use built-in method on `I` actor, right?

### Details

* CodeceptJS version: `3.0.5`
* NodeJS Version: `12.20.2`
* Operating System: macOS Catalina
* puppeteer

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。