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

Vad*_*dim 1 puppeteer

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

Gra*_*ler 5

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

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

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

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 );
});
Run Code Online (Sandbox Code Playgroud)