[Codecept Playwright] - Not able to maximize the window. windowSize = "maximize" not working properly

未关闭
#4,616 4 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
25/100
Issue 类型
缺陷
描述清晰度
需要澄清
活跃度
停滞
技术栈
javascript, node.js, playwright
领域
testing

调研方向

从 conf.js 中的 Playwright helper 配置开始,重点检查 windowSize、chromium.args 和 viewport,并在使用 CodeceptJS 3.6.7 和 Node.js 20.12.2 的 Windows 11 上复现该行为。完成的标准是:配置的 Playwright 浏览器能够可靠地以最大化状态打开,而不需要单独启动浏览器或手动替换页面。

由索引模型根据 Issue 内容生成。

描述

I want to maximize the window where my app fit to the entire screen perfectly

By using the option (windowSize = "maximize") in conf.js file does not work.

  • CodeceptJS version: 3.6.7
  • NodeJS Version: 20.12.2
  • Operating System: Windows 11
  • playwright
  • Configuration file:
    const { default: test } = require("playwright/test");

exports.config = {
output: './output',
tests: './other_tests/**.test.js',
helpers: {
Playwright: {
browser: 'chromium',
url: 'localhost:3000',
show: true,
getPageTimeout: 180000,
waitForTimeout: 180000,
waitForNavigation: "networkidle0",
restart: "session",
keepBrowserState: true,
keepCookies: true,
windowSize: "maximize",
chromium: {
args: ['--start-maximized'],
viewport: null
}
},
Generics: {
require: "./helpers/generics.js"
},
ExpectHelper: {}
},
include: {
I: './steps_file.js'
},
timeout: 560,
gherkin: {
features: './features/*.feature',
steps: ['./step_definitions/steps.js'],
},
plugins: {
screenshotOnFail: {
enabled: true
},
tryTo: {
enabled: true
},
allure: {
enabled: true,
require: '@codeceptjs/allure-legacy',
}
},
name: 'test_Automation'
}

I even tried to extend playwright method where I able to maximize the window but not sure how to reuse the new context as I need to close the one created by codeceptjs fixture.

const { chromium } = require('playwright');

Feature('Maximize Browser Window');

Scenario('Maximize window using Playwright', async ({ I }) => {
I.amOnPage('http://localhost'); // Replace with your URL

I.usePlaywrightTo('maximize browser window', async ({ page }) => {
// Close the existing browser context
const browser = page.context().browser();
await browser.close();

// Launch a new browser instance with the --start-maximized argument
const newBrowser = await chromium.launch({
  headless: false,
  args: ["--start-maximized"],
});

// Create a new browser context with a maximized viewport
const context = await newBrowser.newContext({ viewport: null });
const newPage = await context.newPage();

// Navigate to the specified URL
await newPage.goto('http://localhost'); // Replace with your URL

// Set the new page for further CodeceptJS steps
I._setPage(newPage);

});

// Continue with your test steps using the new page
I.see('Welcome');
});

主要语言
JavaScript
星标
4.2k
派生
756
平均合并
2 天 9 小时
30 天内合并 PR
16

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

codeceptjs/CodeceptJS 的其他 Issue

查看 codeceptjs/CodeceptJS 的全部 Issue

相似的 Issue

更多 JavaScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。