无法设置调试器

时间:2019-05-08 10:49:22

标签: node.js vscode-settings vscode-debugger wdio-v4

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

1 个答案:

答案 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也可以与它一起使用。