通过在我的vscode launch.json文件中添加必要的配置,方法是在我的stepdef中添加断点并调试测试会引发错误,并且不会打开调试器。
我的launch.js文件如下所示
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"protocol": "legacy",
"address": "localhost",
"port": 5859,
"timeout": 20000,
"name": "WebdriverIO",
"runtimeExecutable": "${workspaceRoot}/node_modules/.bin/wdio",
"runtimeArgs": [
"--debug=5859"
],
"windows": {
"runtimeExecutable": "${workspaceRoot}/node_modules/.bin/wdio.cmd"
},
"restart": true,
"cwd": "${workspaceRoot}",
"console": "integratedTerminal",
// This args config runs only the file that's open and displayed
// (e.g., a file in test/spec/):
"args":[
"${workspaceRoot}/features/wdio-local.conf.js"
]
}
]
}
然后我将以下内容添加到wdio-local.conf.js文件的顶部
exports.config = {
debug: true,
execArgv: ['--debug=127.0.0.1:5859'],
然后我继续,并在步骤定义中添加了两个断点,这些断点与导航到页面的功能文件挂钩。从理论上讲,应该在调用“ open”方法时使用。
我正在使用webdriverio v4作为需要用黄瓜编写的测试
我从以下站点获得了参考:
http://blog.likewise.org/2017/02/debugging-a-javascript-webdriverio-project-in-vscode/
和
https://liesbeek.com/2018/08/03/debug-wdio-vscode/
两者都不起作用。
我们使用npm run命令在终端中运行测试,还传递了两个参数,即使用标签运行测试。
NODE_ENV=development T_ENV=staging npm run e2e-test-local -- --cucumberOpts.tagExpression='@404_error'
一切正常。注意我们还使用了两个变量。
需要有关如何配置vscode launch.json的帮助,以便我可以调试测试。 非常感谢
答案 0 :(得分:0)
您的wdio conf文件看起来不错。只需更新launch.json。
仅供参考,它具有使用REPL的局限性,就像在browser.debug();
中使用它一样。{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "WDIO",
"program": "${workspaceFolder}/node_modules/.bin/wdio",
"port": 5859,
"protocol": "inspector",
"args": [
"wdio.conf.js",
"--spec",
"spec/some-folder/some-test-spec.js" // File which you would like to debug
],
"internalConsoleOptions": "openOnSessionStart",
"cwd": "${workspaceRoot}",
"env": {
"DEBUG": "1"
// use an environment variable to be able
// to toggle debug mode on and off
}
}
]
}
仍然试图弄清楚wdio 5如何与VS CODE Debugger完全集成。
尽管this guy可以与WDIO 4一起使用。而且我觉得他的文章应该可以帮助我们使WDIO 5也可以与它一起使用。