Node.js 如何通过IntelliJ运行/调试配置运行wdio?
我可以使用命令行运行测试Node.js 如何通过IntelliJ运行/调试配置运行wdio?,node.js,intellij-idea,cucumber,Node.js,Intellij Idea,Cucumber,我可以使用命令行运行测试 > ./node_modules/.bin/wdio wdio.conf.js 但是,如果我尝试从IntelliJ的运行/调试配置运行它,我会得到各种不同的错误 功能文件或目录:/path\u to\u my\u feature\u file/myfeature.feature Cucumber.js参数:wdio.conf.js 可执行路径:/path\u to\u my\u project/node\u modules/.bin/wdio 给我 指定了多
> ./node_modules/.bin/wdio wdio.conf.js
但是,如果我尝试从IntelliJ的运行/调试配置运行它,我会得到各种不同的错误
功能文件或目录:/path\u to\u my\u feature\u file/myfeature.featureCucumber.js参数:wdio.conf.js
可执行路径:/path\u to\u my\u project/node\u modules/.bin/wdio 给我 指定了多个配置文件
如果我删除cumber参数,它将无限期运行。如果我停止它运行,我会得到错误 加载配置文件失败
看起来在加载配置文件时出现了一些问题,但我不知道如何修复它。有什么建议吗?wdio.conf.js存在并位于项目根目录中 WebStorm不对
wdio
测试运行程序提供任何特殊支持。但是您仍然可以使用Node.js运行/调试测试,如下所示运行配置:
但由于与使用非tty环境相关的问题(IDEA中的Node.js run console是非tty的),这并不是开箱即用的。作为一种解决方法,请尝试注释if(process.stdin.isTTY)
和else
节点\u模块\webdrivero\build\lib\cli.js中的分支:
//if (process.stdin.isTTY) {
launch();
/*
} else {
var stdinData = '';
/!*
* get a list of spec files to run from stdin, overriding any other
* configuration suite or specs.
*!/
var stdin = process.openStdin();
stdin.setEncoding('utf8');
stdin.on('data', function (data) {
stdinData += data;
});
stdin.on('end', function () {
if (stdinData.length > 0) {
args['specs'] = stdinData.trim().split(/\r?\n/);
}
launch();
});
}*/
请参见以使其与webdriverio v5及更高版本配合使用,您需要在上面的调试配置屏幕中进行设置 运行程序作为要执行的javascript文件的路径: 节点_modules@wdio\cli\bin\wdio.js 和conf文件作为应用程序参数:
wdio.conf.js您使用什么运行配置?请尝试Node.js-请参阅谢谢lena。我一直在使用cucumber.js。我在您的图像中尝试了Node.js-没有错误,但测试似乎也没有运行-它们只是不做任何事情,看起来它们启动但不停止,不输出任何内容。已知问题,请查看我的解决方法的答案。该解决方法不适用于我。我使用的是IntellJ IDEA,其设置配置与您前面提到的相同,但在单击调试按钮时(在我的下一篇评论中)会出现此错误。你能帮忙吗?提前感谢:)
C:\WORK\IntelliJ\u IDEA\project\node\u modules\.bin\wdio:2 basedir=$(dirname“$(echo“$0”| sed-e's,\\,/,g')”)在Object.runinthiscoxt(vm.js:139:10)的createScript(vm.js:80:10)处的参数列表后,在Module.runinthiscoxt(vm.js:139:10)处编译(Module.js:616:28)正在等待调试器断开连接。。。进程结束,退出代码为1
您正在将bash脚本作为.js
文件传递到Node.js;将运行配置中的Javascript文件路径从node\u modules\.bin\wdio
更改为node\u modules\webdrivero\bin\wdio