Как развернуть всплывающее окно с помощью Playwright (например, нажав кнопку, чтобы открыть всплывающее окно)

Программное обеспечение, которое я тестирую, имеет много всплывающих/модальных окон. Главная страница loginPage открыта в полноэкранном режиме. После нажатия кнопки откроется новое всплывающее (модальное) окно, например. overviewPage

Чего я хочу добиться, так это изменить область просмотра этого всплывающего окна или, лучше, максимизировать его, в данном случае это overviewPage

Вот мой код:

const browser = await chromium.launch({
        args: ['--start-maximized'],
        headless : false, slowMo : 50});
const context = await browser.newContext({viewport : null});
const loginPage = await context.newPage();
await loginPage.goto(myURL.href);  //Login Page was opened in Maximized mode (Fullscreen)

// Next step is to click a button on Login Page, and a new page is opened.
await loginPage.click('#nextBtn');

console.info('Get page after a specific action (e.g. clicking a button');
const [overviewPage] = await Promise.all([
    context.waitForEvent('page')
]);
await overviewPage.waitForLoadState();
await overviewPage.screenshot({ path: `reportoverview.png` });
console.info('Current window: ' + await overviewPage.title());

Всплывающее окно overviewPage открывается, но с маленьким окном просмотра, и я не знаю, как его развернуть.

Я уже установил флаг --start-maximized в context, и он работает для loginPage. Как и где я могу установить область просмотра для всплывающего окна.

Я использую версию Playwright: v1.2.1.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
6
0
9 441
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Я могу настроить viewport всплывающего окна на свое требование с помощью setViewportSize

await overviewPage.setViewportSize({ width: 1920, height: 1080 });

Это решило мою проблему.

//You can use setViewPortSize(int width, int height) in Java.
public static void main(String[] args) {

        Playwright playwright = Playwright.create();
        Browser browser = playwright.chromium().launch(new BrowserType.LaunchOptions().setHeadless(false));
        BrowserContext context = browser.newContext(new Browser.NewContextOptions().setViewportSize(1920, 1080));
        Page page = context.newPage();
        page.navigate("https://www.amazon.com/");
    }
 
//You can get the current screen dimensions as well:
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
            int width = (int)screenSize.getWidth();
            int height = (int)screenSize.getHeight();
            System.out.println(width + " " + height);
            
            Playwright playwright = Playwright.create();
            Browser browser = playwright.chromium().launch(new BrowserType.LaunchOptions().setHeadless(false));
            BrowserContext context = browser.newContext(new Browser.NewContextOptions().setViewportSize(width,height));
            Page page = context.newPage();
              page.navigate("https://www.amazon.com/");

Другие вопросы по теме