CodeceptJS
CodeceptJS copied to clipboard
[Codecept Playwright] - Not able to maximize the window. windowSize = "maximize" not working properly
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'); });