0

通过向我的 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 的帮助,以便我可以调试测试。非常感谢

4

1 回答 1

1

您的 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 调试器完全集成。

虽然这个人已经使用 WDIO 4。而且我觉得他的文章应该可以帮助我们让 WDIO 5 也使用它。

于 2019-11-19T18:44:01.140 回答