Puppeteer:如何像Jasmine中的假定时器一样管理时间呢?

时间:2018-05-31 14:11:38

标签: puppeteer

我需要像浏览器中的假定时器那样在浏览器中管理时间,以避免长时间等待实时的测试结果。

1 个答案:

答案 0 :(得分:2)

您可以使用Lolex,它是伪造的JavaScript计时器的实现。

首先,使用page.addScriptTag()将Lolex库添加到页面。

接下来,使用page.evaluate()在Page DOM环境中开始使用Lolex。

await page.addScriptTag( {
    'url' : 'https://cdn.jsdelivr.net/npm/lolex@2.7.1/src/lolex-src.min.js'
});

await page.evaluate( () =>
{
    const clock = lolex.createClock();

    clock.setTimeout( () =>
    {
        console.log( 'Hello, world!' );

    }, 500 );

    clock.tick( 500 );
});