codeceptjs / codeceptjs/CodeceptJS

overriding the configuration for the multi-session by passing a second parameter don't work

Aperta
#4,401 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
stale
Lingua principale
JavaScript
Stelle
4.2k
Fork
757
Merge medio
2g 9h
PR unite (30g)
16

Descrizione

#### What are you trying to achieve?
I'm trying to override the configuration for multi-session by passing a second parameter to the session function. I want the configuration to apply the overridden settings, but it doesn't work as expected.

#### What do you get instead?
The overriding doesn't apply; the default configuration in codecept.conf.ts is still being applied.

> Provide console output if related. Use `--verbose` mode for more details.

```bash
> crossdevices@1.0.0 codeceptjs
> codeceptjs run --verbose

***************************************
nodeInfo: 16.18.1
osInfo: macOS 14.4
cpuInfo: (8) arm64 Apple M2
chromeInfo: 126.0.6478.61
edgeInfo: 126.0.2592.61
firefoxInfo: undefined
safariInfo: 17.4
If you need more detailed info, just run this: npx codeceptjs info
***************************************
CodeceptJS v3.6.3 #StandWithUkraine
Using test root "/Users/raspfr/repo/poc/crossdevices"
Helpers: Playwright
Plugins: screenshotOnFail, tryTo, retryFailedStep, retryTo, eachElement

login --
[1] Starting recording promises
Timeouts:
› [Session] Starting singleton browser session
test something
I am on page "https://www.google.com"
› [Browser:Error] Permissions policy violation: unload is not allowed in this document.
I wait 5
› [New Context] {"browser":"webkit","emulate":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4 Mobile/15E148 Safari/604.1","viewport":{"width":393,"height":660},"screen":{"width":393,"height":852},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}}
mobile: I am on page "https://www.google.com"
› [Browser:Info] Autofocus processing was blocked because a document already has a focused element.
› [Browser:Error] Permissions policy violation: unload is not allowed in this document.
mobile: I wait 5
✔ OK in 11410ms

OK | 1 passed // 13s
```

> Provide test source code if related

```js
import { devices } from "playwright";

Feature("login");

Scenario("test something", ({ I }) => {
I.amOnPage("https://www.google.com");
I.wait(5);
session(
"mobile",
{
browser: "webkit",
emulate: devices["iPhone 14 Pro"],
},
() => {
I.amOnPage("https://www.google.com");
I.wait(5);
}
);
});

```

### Details

CodeceptJS version: 3.6.3
NodeJS Version: 20.14.5
Operating System: MacOS 14.4 (23E214)
playwright 1.44.1

* Configuration file:

```js
import { setHeadlessWhen, setCommonPlugins } from "@codeceptjs/configure";
import { devices } from "playwright";

// 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();

export const config: CodeceptJS.MainConfig = {
tests: "./*_test.ts",
output: "./output",
helpers: {
Playwright: {
browser: "chromium",
emulate: devices["Chrome Desktop"],
url: "http://localhost",
show: true,
},
},
include: {
I: "./steps_file",
},
name: "crossdevices",
};

```
![multisession_issue](https://github.com/codeceptjs/CodeceptJS/assets/10197265/8e570e77-5773-4b1f-ac38-d33b0a81c79a)

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.