jestjs - Jest puppeteer typescript reference error 找不到页面
问题描述
试图用 puppeteer 设置 typescript jest
我按照如下所述的分步说明进行操作
带有 typescript 配置的 Jest-puppeteer
有一个简单的测试
describe('Google', () => {
beforeAll(async () => {
await page.goto('https://google.com')
})
it('should display "google" text on page', async () => {
await expect(page).toMatch('google')
})
})
当我运行我的测试时,我得到了奇怪的错误
ReferenceError: page is not defined
它指向 beforeAll 中的“等待页面”对象
我还注意到 chrome 尝试启动但未启动可能是此错误是 b/c chrome 无法启动。
jest-puppeteer 库负责启动浏览器并提供浏览器和页面对象
这是从上述链接中提到的页面获取的代码
//jest-puppeteer.config.js
let jest_puppeteer_conf = {
launch: {
timeout: 30000,
dumpio: true // Whether to pipe the browser process stdout and stderr
}
}
const isDebugMode = typeof v8debug === 'object' || /--debug|--inspect/.test(process.execArgv.join(' '));
if (isDebugMode) {
jest_puppeteer_conf.launch.headless = false; // for debug: to see what the browser is displaying
jest_puppeteer_conf.launch.slowMo = 250; // slow down by 250ms for each step
jest_puppeteer_conf.launch.devtools = true; // This lets you debug code in the application code browser
jest_puppeteer_conf.launch.args = [ '--start-maximized' ]; // maximise the screen
}
module.exports = jest_puppeteer_conf;
底部有一个小的调试部分,提醒添加以下类型,我已经拥有它们但仍然没有运气,感谢任何帮助。
"compilerOptions": {
.....
"types": [
.......
"puppeteer",
"jest-environment-puppeteer",
"expect-puppeteer"
]
}
解决方案
注释掉以下行可以解决问题。
// testEnvironment: "node"
推荐阅读
- c# - 在 c# 中运行时使用 selenium 更改代理端口
- javascript - 将来自两个不同输入的值相乘并显示在第三个输入中
- python-3.x - 仅当标记列为 1 时,如何计算滚动平均值
- python - 如何将列内部提取到几列
- hibernate - Session.get() 和 EntityManager.find() Hibernate 有什么区别
- javascript - 迭代嵌套对象
- r - 将分类变量转换为 R 中的因子时出错
- javascript - 使用 js react native 获取 Android 的触摸压力
- pixi.js - Pixi:SVG 没有按预期缩放
- gnuplot - 如何从 .csv 文件镜像和重复周期函数