Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

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

Open
#4,401 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
javascript, node.js, playwright
Domain
testing-qa

Research direction

Start with the session function and the Playwright helper configuration in codecept.conf.ts, then reproduce the supplied multi-session example with the second parameter. Trace how the session options are combined with the default configuration and verify that the overridden browser and device settings are used instead of the defaults.

Written by the indexing model from the issue text.

Description

stale
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.

> 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

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",
};

multisession_issue

Dominant language
JavaScript
Stars
4.2k
Forks
756
Avg merge
2d 9h
Merged PRs (30d)
16

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from codeceptjs/CodeceptJS

All issues in codeceptjs/CodeceptJS

Similar issues

More JavaScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.