ReferenceError:在e2e测试中未定义窗口

时间:2019-07-04 09:26:50

标签: javascript typescript automation puppeteer e2e-testing

我正在使用TS + Puppeteer编写新的e2e测试,我需要向下滚动页面才能单击一个按钮。

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 :(得分:0)

使用page.evaluate函数在页面上下文中执行javascript。

滚动到元素:

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

滚动到底部:

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