Jenkins运行Nightwatch.js测试时遇chromedriver spawn EACCES错误求助
解决Jenkins运行Nightwatch.js测试时的
Error: spawn chromedriver_win32/chromedriver.exe EACCES错误 问题场景
通过Jenkins运行Nightwatch.js测试时触发权限错误,相关信息如下:
错误信息:
Error: spawn chromedriver_win32/chromedriver.exe EACCES
Nightwatch.conf.js配置片段:
module.exports = { "src_folders": ["tests"], "webdriver": { "start_process": true, "server_path": "chromedriver_win32/chromedriver.exe", "port": 9515 }, };
chromedriver_win32文件夹仅包含chromedriver.exe。
解决步骤
EACCES错误核心是进程无权限执行chromedriver.exe或路径解析异常,针对Jenkins环境按以下顺序排查:
给Jenkins运行用户添加权限
Windows下Jenkins默认以Local System用户运行,需确保该用户拥有chromedriver_win32文件夹和chromedriver.exe的读取+执行权限:
右键文件夹→属性→安全→编辑→添加Jenkins运行用户(如NT AUTHORITY\SYSTEM),勾选「读取和执行」「列出文件夹内容」「读取」权限后保存。改用绝对路径配置
相对路径在Jenkins工作目录下可能解析错误,直接替换为绝对路径:module.exports = { "src_folders": ["tests"], "webdriver": { "start_process": true, // 替换为你的实际绝对路径,示例: "server_path": "C:/jenkins/workspace/your-project-name/chromedriver_win32/chromedriver.exe", "port": 9515 }, };验证chromedriver与Chrome版本兼容性
确认chromedriver版本和测试环境的Chrome浏览器大版本一致(比如Chrome 118对应chromedriver 118.x),版本不匹配会触发权限或启动异常,下载对应版本替换即可。临时禁用Jenkins安全沙箱(谨慎操作)
若Jenkins启用了安全沙箱,可能限制进程执行权限:进入任务配置→构建环境,取消勾选「启用安全沙箱」(仅在确认项目安全的情况下使用)。
内容的提问来源于stack exchange,提问作者King Reinhardt IV
相关产品推荐
相关产品推荐

