codeceptjs / codeceptjs/CodeceptJS

Cannot grab browser logs on failure with multiple workers - question

オープン
#2,818 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
enhancement
主要言語
JavaScript
スター
4.2k
フォーク
757
平均マージ
2日 9時間
マージ済み PR(30日)
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 を短くまとめたダイジェスト。