WebdriverIO+Selenium自动化测试执行失败,请求排查修复
WebdriverIO自动化测试项目运行失败排查与修复
错误核心原因
从终端输出的错误信息可以明确:
Error: ENOENT: no such file or directory, chdir 'C:\company\selenium' -> 'C:\company\selenium\wdio.live.local.conf.js'
问题出在chdir(切换目录)操作试图指向一个文件路径(wdio.live.local.conf.js),而该命令只能切换到目录。结合执行的命令,主要有两种可能:
- 项目根目录下不存在
wdio.live.local.conf.js配置文件 - WebdriverIO命令调用格式错误
修复步骤
1. 确认配置文件存在
先检查C:\company\selenium目录下是否有目标配置文件:
- 直接在文件管理器中查看该目录的文件列表
- 或者在终端执行以下命令验证:
Get-ChildItem C:\company\selenium\wdio.live.local.conf.js
如果文件不存在,执行wdio config命令重新生成对应环境的配置文件。
2. 修正命令调用格式
WebdriverIO v6及以上版本启动测试需要加上run子命令,原命令缺少该子命令,导致程序误将配置文件路径识别为目录。
- 直接在终端执行修正后的命令:
npx wdio run wdio.live.local.conf.js
- 或者修改
package.json里的test-live-local脚本:
将原来的:
"test-live-local": "npx wdio wdio.live.local.conf.js"
改为:
"test-live-local": "npx wdio run wdio.live.local.conf.js"
之后再执行npm run test-live-local即可。
3. 消除npm警告(可选)
终端中的npm WARN config global --global, --local are deprecated警告,是因为npm 8.11.0+版本弃用了旧参数,执行以下命令可永久消除警告:
npm config set location global
验证修复
执行修正后的npm run test-live-local命令,若配置文件正确且命令格式无误,测试项目即可正常启动。
内容的提问来源于stack exchange,提问作者Benjamin
相关产品推荐
相关产品推荐

