Window10 上的 Webdriverio 错误 basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")

Posted

技术标签:

【中文标题】Window10 上的 Webdriverio 错误 basedir=$(dirname "$(echo "$0" | sed -e \'s,\\\\,/,g\')") ^^^^^^^ SyntaxError: missing ) 在参数列表之后【英文标题】:Webdriverio Error on Window10 basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") ^^^^^^^ SyntaxError: missing ) after argument listWindow10 上的 Webdriverio 错误 basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") ^^^^^^^ SyntaxError: missing ) 在参数列表之后 【发布时间】:2019-09-09 11:58:25 【问题描述】:

当我尝试运行 npm run 时出现以下错误 我正在使用以下配置: webdriverio v4.14.4node v8.5npm v5.3Windows 10

下面是我的配置文件

"scripts":
"web": "node node_modules/.bin/wdio ./test/config/suite.web.conf.js",

以下错误:

> $ npm run web
>  tconnect-uiautomation@1.1.5 web >C:\Users\user\Downloads\webdriverioFramework\webdriverioFramework 
>ENV=preprod node node_modules/.bin/wdio ./test/config/suite.web.conf.js

C:\Users\user\Downloads\webdriverioFramework\webdriverioFramework\node_modules\.bin\wdio:2
> basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
>           ^^^^^^^
> 
> SyntaxError: missing ) after argument list
>     at createScript (vm.js:74:10)
>     at Object.runInThisContext (vm.js:116:10)
>     at Module._compile (module.js:588:28)
>     at Object.Module._extensions..js (module.js:635:10)
>     at Module.load (module.js:545:32)
>     at tryModuleLoad (module.js:508:12)
>     at Function.Module._load (module.js:500:3)
>     at Function.Module.runMain (module.js:665:10)
>     at startup (bootstrap_node.js:201:16)
>     at bootstrap_node.js:626:3 npm ERR! code ELIFECYCLE npm ERR! errno 1

【问题讨论】:

【参考方案1】:

我得到了这个错误的解决方案:

我只需要从配置文件中删除“node”。

新配置如下:

"scripts":
"web": "node_modules/.bin/wdio ./test/config/suite.web.conf.js",

刚刚从脚本中删除了“node”。

【讨论】:

以上是关于Window10 上的 Webdriverio 错误 basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")的主要内容,如果未能解决你的问题,请参考以下文章

WebdriverIO - 连续执行一些测试和并行执行其他测试

如何使用 webdriverIO js 和 mocha 处理 iframe 内容

在 WebdriverIO 中,为啥 `expect` 行需要在其前面加上 `await` 才能正确测试某些内容?

window10 Powershell使用curl命令报错解决方法

在不使用 adb 的情况下使用 Appium 和 Webdriverio aka wdio 获取您的应用程序的许可

WebdriverIO 与 Selenium Webdriver(Java 方法)