codeceptjs / codeceptjs/CodeceptJS

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

Abierto
#4,401 1 comentario 0 reacciones 0 asignados Ver en GitHub
stale
Lenguaje dominante
JavaScript
Estrellas
4.2k
Forks
757
Merge medio
2 d 9 h
PR fusionados (30 d)
16

Descripción

#### 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)

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.