Jestjs Puppeter:存储和访问每页访问的上下文或元数据
我正在尝试使用Jestjs Puppeter:存储和访问每页访问的上下文或元数据,jestjs,puppeteer,jest-puppeteer,xstate,Jestjs,Puppeteer,Jest Puppeteer,Xstate,我正在尝试使用@xstate/test自动生成结果,并将其与木偶演员和笑话相结合。使用jest的beforeAll和aftereall钩子,我正在调用page.setRequestInterception,并注册一个回调来拦截网络请求并模拟它们的响应 XState生成我想要测试的路径,从每个路径我可以确定测试是否想要测试API失败或成功时应该发生的事情。我被困在如何正确地与Puppeter通信并在我的请求处理程序中访问该信息的问题上。我发现的一个选项是使用查询参数。传递给事件处理程序的请求对象可
@xstate/test
自动生成结果,并将其与木偶演员和笑话相结合。使用jest的beforeAll和aftereall钩子,我正在调用page.setRequestInterception
,并注册一个回调来拦截网络请求并模拟它们的响应
XState生成我想要测试的路径,从每个路径我可以确定测试是否想要测试API失败或成功时应该发生的事情。我被困在如何正确地与Puppeter通信并在我的请求处理程序中访问该信息的问题上。我发现的一个选项是使用查询参数。传递给事件处理程序的
请求
对象可以访问发出请求的帧
在我的测试中:
it(..., async () => {
await page.goto('http://localhost:3000?failApi=true')
..
在我的请求处理程序中:
page.on('request', req => {
// check req.frame.url() here and make choices
...
我目前通过更新文件/模块顶部本地声明的可变变量来解决这个问题,但感觉不太对劲。如果jest决定不按照声明的顺序运行测试,它将中断。