如何在Visual Studio代码(VSCode)中调试Cucumber-量角器?

时间:2019-11-26 11:28:46

标签: debugging visual-studio-code protractor cucumber angular-e2e

我正在尝试在Visual Studio Code中调试Gherkin Cucumber方案,但出现以下错误:-

'zFunctionalTests \ protractor_ui.conf.js'中的解析错误:(1:1):预期:#EOF,#Language,#TagLine,#FeatureLine,#Comment,#Empty,得到了'var baseConfig = require('./ protractor_base.conf.js');'

我创建了以下配置:

launch.json

{
    "configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "Launch Program",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "console": "integratedTerminal",
            "cwd": "${workspaceRoot}",
            "program": "${workspaceRoot}\\node_modules\\cucumber\\bin\\cucumber-js",
            "protocol": "inspector",
            "args": [
                "${workspaceRoot}\\zFunctionalTests\\protractor_ui.conf.js",
            ],
            "outFiles": [
                "${workspaceRoot}/FunctionalTests/features/*.feature"
            ]
        }
    ]
}

protractor_ui.conf.js

var baseConfig = require('./protractor_base.conf.js');
var localConfig = baseConfig.config;

localConfig.capabilities = {
    'browserName': 'chrome',
    chromeOptions: {
        args: [
            '--start-maximized',
            '--no-sandbox',
        ]
    }
}

exports.config = localConfig;

protractor_base.conf.js


exports.config = {
  allScriptsTimeout: 15000,
  directConnect: true,
  baseUrl: "http://localhost:3000/",
  specs: ["./features/*.feature"],
  framework: "custom",
  frameworkPath: require.resolve("protractor-cucumber-framework"),
  cucumberOpts: {
    require: ["./steps/*.ts"],
    strict: true,
    dryRun: false,
    tags: true,
    profile: false,
    "no-source": true,
    tags: ["~@ignore"],
    compiler: []
  },
  capabilities: {},
  maxSessions: 1,
  multiCapabilities: {},
  allScriptsTimeout: 15000,
  getPageTimeout: 15000,
  onPrepare() {
    require("ts-node").register({
      project: "zFunctionalTests/tsconfig.e2e.json"
    });
    require("dotenv").config();
  }
};

我已经尝试了以下博文中所述的内容,但是它不起作用。

How to debug Cucumber in Visual Studio Code (VSCode)?

这可能是由于在执行时未选择提及目标es5的tsconfig。

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

您是否已将类型替换为:

"types": ["chai", "cucumber", "node"]

在tsconfig.json文件中?

答案 1 :(得分:0)

  1. 使用node.js环境创建launch.json
  2. 复制粘贴以下代码
{
"version": "0.2.0",
"configurations": [
{
"name": "ng e2e",
"type": "node",
"request": "launch",
"cwd": "${workspaceRoot}",
"program": "${workspaceFolder}/node_modules/protractor/bin/protractor",
"protocol": "inspector",
"args": ["${workspaceFolder}/zFunctionalTests/protractor_single.conf.js"]
}]}
  1. 现在,转到步骤文件并添加要调试的断点。然后从vs代码菜单中单击调试图标,然后开始调试

注意:工作区文件夹是您的.vscode文件夹 因此,此处提到的路径基于文件夹结构的假设。它可能与实际路径不同。