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

Aberta
#4,401 1 comentário 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
35/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Estagnada
Stack de tecnologia
javascript, node.js, playwright
Domínio
testing-qa

Direção de pesquisa

Comece pela função session e pela configuração do helper do Playwright em codecept.conf.ts e, em seguida, reproduza o exemplo multi-session fornecido com o segundo parâmetro. Rastreie como as opções de session são combinadas com a configuração padrão e verifique se as configurações substituídas de navegador e dispositivo são usadas em vez dos valores padrão.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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

Linguagem predominante
JavaScript
Estrelas
4.2k
Forks
756
Merge médio
2d 9h
PRs com merge (30d)
16

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de codeceptjs/CodeceptJS

Todas as issues de codeceptjs/CodeceptJS

Issues semelhantes

Mais issues de JavaScript

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.