首页 > 解决方案 > Puppeteer 浏览器内时间加速

问题描述

是否有一些与 相反的选项slowMo可以加速浏览器内的时间?我想要的是尽可能快地播放所有页面脚本/间隔/动画。

标签: node.jstimepuppeteer

解决方案


我不相信这是可以实现的。正如您通过使用设置指出的那样,您可以减慢浏览器中的操作slowMo,但否则浏览器的行为就像用户与之交互时一样 - 这确实是重点:-)

我可以向您提出的建议是基于我根据自己的 UI 自动化经验尝试和实施的事情。希望这里的东西可以帮助你。

我想要的是尽可能快地播放所有页面脚本/间隔/动画。

正如我已经说过的,除了等待页面正常加载外,我认为您无法做任何事情,就好像用户正在登录和/或与您的应用程序交互一样。但是,您确实有一个非常强大的选项,可以减轻一直等待页面加载的痛苦。

例如,您可以使用jest-puppeteer
https ://github.com/smooth-code/jest-puppeteer/tree/master/packages/jest-puppeteer

允许您jest-puppeteer做的是以行为驱动的测试格式构建您的测试套件,使用describeit语句分别定义您的套件和测试脚本。通过使用此方法,您可以指定before在执行套件中的所有测试脚本之前要执行的方法 - 因此,在这里您可以登录到您的应用程序并让它等待所有内容仅加载一次。然后,所有测试脚本将在远程浏览器中显示的页面上按顺序执行,而无需重新加载浏览器并在测试之间从头开始重新开始。

这可以显着减少每次您想要运行测试时都必须等待页面加载的痛苦。

这个想法是您可以在每个套件中将相关的测试脚本捆绑在一起 - 即。在第一个套件中,加载登录页面一次,然后在拆除之前执行所有基于登录的测试脚本。在下一个套件中,加载主页一次,然后在拆除之前执行所有基于主页的测试脚本。你明白了。

这是我个人能给你的最好建议。希望它有所帮助!


推荐阅读