使用playwright.config.js时报ReferenceError: playwright is not defined如何解决
问题根因
- 你的项目package.json中name字段设置为
playwright,和官方依赖包名冲突,Node.js模块解析时优先读取本地项目目录,导致导入逻辑异常。从你提供的环境信息第一行playwright@1.0.0 /Users/me/git/left/playwright可以确认这个问题。 - 你使用的
@playwright/test@1.15.0属于较早的版本,配置文件中添加的// @ts-check和TS类型注释行和该版本的类型定义不兼容,触发了变量未定义的报错。
解决方法
你可以选择任意一种方案处理:
方案一:不升级依赖版本
- 打开项目根目录的package.json文件,修改
name字段的值,改为非playwright的其他名称,比如playwright-test-demo。 - 修改
playwright.config.js内容,删除类型相关的注释行,调整后代码如下:
const { devices } = require('@playwright/test'); const config = { use: { headless: false, viewport: { width: 1280, height: 720 }, ignoreHTTPSErrors: true, video: 'on-first-retry', }, }; module.exports = config;
- 重新执行
npx playwright test即可正常运行。
方案二:升级到最新稳定版
- 执行命令升级依赖:
npm i -D @playwright/test@latest
- 执行命令更新对应浏览器内核:
npx playwright install
- 重新执行测试命令即可正常运行,新版对配置文件的兼容性更好,不需要额外修改原有配置内容。
内容的提问来源于stack exchange,提问作者Soprano86
相关产品推荐
相关产品推荐

