CodeceptJS
CodeceptJS copied to clipboard
overriding the configuration for the multi-session by passing a second parameter don't work
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
--verbosemode for more details.
> [email protected] 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
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:
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",
};
This issue is stale because it has been open for 90 days with no activity.