jest-puppeteer允许你使用Jest&Puppeteer运行测试。
#forjest22~23npminstall--save-devjest-puppeteer@3.9.0puppeteerjest#forjest24+npminstall--save-devjest-puppeteerpuppeteerjest需要Jestv22及以上版本。
#TypeScriptusersshouldinstallfollowingtypepackagesnpminstall--save-dev@types/puppeteer@types/jest-environment-puppeteer@types/expect-puppeteer用法更新Jest配置
{"preset":"jest-puppeteer"}注意:确保从现有的Jest配置中删除任何testEnvironment选项,jest-puppeteer需要管理这个选项。
在测试中使用Puppeteer
import'expect-puppeteer'describe('Google',()=>{beforeAll(async()=>{awaitpage.goto('https://google.com')})it('shoulddisplay"google"textonpage',async()=>{awaitexpect(page).toMatch('google')})})如果你正在使用react-scripts,则需要通过命令行来传递环境:
"test":"react-scriptstest--env=puppeteer",或者在每个测试文件的顶部包含以下注释
/***@jest-environmentpuppeteer*/大多数持续集成平台都限制了可以使用的线程数。如果您有多个测试套件运行puppeteer,则测试可能会超时,这是因为jest会尝试并行运行puppeteer,而CI平台无法及时处理所有并行作业。
在CI环境中运行 puppeteer对此的解决方法是在CI环境中连续运行测试,用户发现,在此类环境中连续运行测试可以实现高达50%的性能提升。
可以通过CLI运行来实现:
jest--runInBand
评论