Protractor无法启动 执行webdriver-manager命令报找不到模块错误
Protractor启动失败、webdriver-manager报模块找不到问题
基础运行环境
已尝试互联网上所有公开解决方案,包括更换不同版本的node与webdriver-manager、从零重新搭建整套环境,依然无法正常启动Protractor,每次运行测试都会触发报错,对应运行环境信息如下:
OS : win 10 64 bit npm version - 5.3.0 node version - v8.3.0 webdriver-manager关联驱动版本: chromedriver: 103.0.5060.53, 104.0.5112.29 (latest) geckodriver: 0.31.0 (latest) selenium: 4.0.0-alpha-1 (latest) 本地chrome浏览器版本 - 103.0.5060.114
具体报错信息
执行webdriver-manager update命令时返回以下错误:
n\AppData\Roaming\npm\node_modules\protractor\example>node node_modules/protractor/bin/webdriver-manager update module.js:491 throw err; ^ Error: Cannot find module 'C:\Users\test\AppData\Roaming\npm\node_modules\protractor\example\node_modules\protractor\bin\webdriver-manager' at Function.Module._resolveFilename (module.js:489:15) at Function.Module._load (module.js:439:25) at Function.Module.runMain (module.js:609:10) at startup (bootstrap_node.js:158:16) at bootstrap_node.js:578:3
修复步骤
- 修正命令执行路径:当前执行命令的工作目录是全局protractor包下的
example文件夹,命令中写的相对路径会默认查找example子目录下的node_modules资源,该路径下不存在对应文件,直接退到上一级protractor根目录,或者切换到自身项目根目录再执行命令即可解决模块找不到的报错。 - 全局安装protractor后无需手动拼接相对路径调用webdriver-manager:直接在命令行执行
webdriver-manager update即可,不需要加node node_modules/xxx前缀,从根源避免相对路径匹配错误。 - 修复版本兼容问题:当前安装的selenium 4.0.0-alpha-1是早期测试版本,和node 8.x、现有驱动存在大量兼容bug,替换为稳定版3.141.59即可;chromedriver仅保留和本地Chrome版本完全匹配的103.0.5060.53,删除104版本驱动,避免驱动和浏览器版本不匹配导致启动失败。
- 如果执行全局命令时提示找不到webdriver-manager,先运行
npm root -g获取全局npm包安装路径,将路径下对应的bin目录添加到系统环境变量PATH中,重启终端后再执行相关命令。
内容的提问来源于stack exchange,提问作者Syed Saddam Hussain
相关产品推荐
相关产品推荐

