通过向我的 stepdef 添加断点并调试测试在我的 vscode launch.json 文件中添加必要的配置会引发错误并且不会打开调试器。
我的 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 的帮助,以便我可以调试测试。非常感谢