codeceptjs / codeceptjs/CodeceptJS

Error when trying `run-workers` with combination of `channel` using playwright helper.

未關閉
#4,609 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
主要語言
JavaScript
星號
4.2k
分支
757
平均合併
2 天 9 小時
30 天內合併 PR
16

描述

#### What are you trying to achieve?

When I use Playwright driver along with `channel`, and also use `run-workers`, I get error like the browser exe file is not present at specific location and browser cannot be launched.

#### How to reproduce?

1. Create a demo codeceptjs project with playwright as driver.
2. In `codecept.conf.js` file add the `channel` property inside playwright object (add any property from [here](https://playwright.dev/docs/api/class-testoptions#test-options-channel)) OR use below code.
```js
const { setHeadlessWhen, setCommonPlugins } = require('@codeceptjs/configure');
// turn on headless mode when running with HEADLESS=true environment variable
// export HEADLESS=true && npx codeceptjs run
setHeadlessWhen(process.env.HEADLESS);

// enable all common plugins https://github.com/codeceptjs/configure#setcommonplugins
setCommonPlugins();

/** @type {CodeceptJS.MainConfig} */
exports.config = {
tests: './*_test.js',
output: './output',
helpers: {
Playwright: {
browser: 'chromium',
url: 'http://localhost',
show: true,
channel: 'msedge',
}
},
include: {
I: './steps_file.js'
},
name: 'demo-codecept'
}
```

#### Command for execution

`npx codeceptjs run-workers 2`

#### Possible resolution way and reason for Error

The error comes when child processes are created for the parallel execution using `run-workers`. For `windows` operating system, the env variable are case-insensitive, which means `process.env['PROGRAMFILES(X86)']` and `process.env['ProgramFiles(x86)']` would produce same output. But inside the child process, only writing exact case only produces result. ex. `process.env['ProgramFiles(x86)']` will produce correct output and anything other produces `undefined`.
Because of this it is not able to find the correct path at which the browser exe files are present.

### Details

* CodeceptJS version: `3.6.6`
* NodeJS Version: `22.11.0`
* Operating System: `win32`
* playwright: `1.49.0`

貢獻指南

開啟貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。