ReferenceError: окно не определено в тесте e2e - PullRequest
1 голос
/ 04 июля 2019

Я пишу новый тест e2e, используя TS + Puppeteer, и мне нужно прокрутить страницу вниз, чтобы нажать на кнопку.

it('user create request at homepage', async () => {
    await page.goto(`${global.HOST}`, { waitUntil: 'networkidle0' });
    const postRequestBtn = 'qa-id="dummybtn"';
    await window.scrollBy(0, document.body.scrollHeight);
    //also tried await window.scrollTo(0,100);
    await page.waitForSelector(postRequestBtn);
});

Я ожидаю прокрутить страницу вниз, но она ловит ошибку: ReferenceError: window is not defined - скажите, пожалуйста, что я делаю не так?

1 Ответ

0 голосов
/ 04 июля 2019

Используйте функцию page.evaluate для выполнения JavaScript в контексте страницы.

Прокрутите до элемента:

await page.$eval('qa-id="dummybtn"', el => el.scrollIntoView());

Прокрутите вниз:

await page.evaluate(() => window.scrollTo(0, document.body.scrollHeight));

...