引入@playwright/test报错Cannot find module '@playwright/test'如何解决
问题原因
报错核心原因是@playwright/test是Playwright官方的测试运行器独立包,你当前的package.json中仅安装了基础的playwright库,未安装@playwright/test依赖,所以引入时会触发模块找不到的错误。同时你使用的playwright-expect是第三方旧工具包,当前Playwright官方的expect已经内置了全部断言能力,无需额外安装第三方依赖。
解决方法
可根据你的使用场景二选一:
方案1:保持原生node运行脚本的模式
如果不需要使用Playwright官方的测试用例管理能力,只想保持现在直接用node跑脚本的逻辑,直接把你写的断言相关代码替换为以下内容即可:
// 直接从playwright-expect引入expect即可,无需引入@playwright/test const { expect } = require('playwright-expect'); console.log("##########", expect)
修改完成后直接运行脚本即可消除报错。
方案2:改用官方Playwright测试体系(更推荐长期使用)
如果后续需要写正式的自动化测试用例,建议直接使用官方测试套件,操作步骤如下:
- 安装和当前playwright版本匹配的
@playwright/test依赖,执行命令:npm install @playwright/test@1.15.1 --save
版本需要和你已安装的playwright版本一致,避免出现兼容性问题 - 移除冗余的第三方断言包,执行命令:
npm uninstall playwright-expect --save - 把你的断言相关代码修改为官方写法:
const { expect } = require('@playwright/test'); console.log("##########", expect)
验证方式
修改完成后重新执行npm run test,即可正常打印expect内容,不会再报模块找不到的错误。
内容的提问来源于stack exchange,提问作者Antonio contreras
相关产品推荐
相关产品推荐

