CodeceptJS icon indicating copy to clipboard operation
CodeceptJS copied to clipboard

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

Open HarikrishnanVK opened this issue 11 months ago • 4 comments

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'); });

HarikrishnanVK avatar Nov 26 '24 13:11 HarikrishnanVK