Webdriverio脚本在Mac、Linux运行正常,Windows10环境报错如何解决
问题根因
Linux/Mac下node_modules/.bin/wdio是Shell脚本,而Windows下对应可执行文件为wdio.cmd,你直接用node执行Shell脚本时,Node会将Shell语法当作JS代码解析,自然抛出语法错误。
解决方案
方案1:修改package.json的scripts配置(推荐,全平台兼容)
npm执行scripts命令时,会自动将项目内node_modules/.bin目录加入临时环境变量,无需写完整路径也无需前置node调用,直接修改配置如下:
"scripts": { "debug": "wdio ./configs/debug.conf.js" }
注:你原配置中scripts的key为拼写错误的
dubug,此处修正为标准的debug,修改后执行npm run debug即可生效,全平台通用。
方案2:临时执行用npx调用
如果不想修改配置,可直接执行如下命令运行:
npx wdio ./configs/debug.conf.js
npx会自动识别当前系统,调用对应格式的可执行文件。
方案3:复杂脚本场景用跨平台工具
如果后续有更多跨平台执行的脚本需求,可安装cross-spawn等跨平台执行工具适配不同系统的可执行文件调用规则,当前场景无需使用。
内容的提问来源于stack exchange,提问作者AlienHead
相关产品推荐
相关产品推荐

