运行 ng e2e with --element-explorer 不工作

Run ng e2e with --element-explorer not working

我正在尝试弄清楚如何调试端到端测试。我在 angular 项目中使用量角器并使用 protractor-cucumber-framework 自定义框架。

Given('[...]', async () => {
  await page.goToMeetupsListPage();
  const profile: Profile = getMichel();
  await page.setProfile(JSON.stringify(profile));
  await page.refreshPage();
});

我在这种函数中设置断点。

然后我 运行 命令 ng e2e --element-explorer 应该寻找断点。

然后我在启动时收到此错误:

/Users/.../node_modules/protractor/built/debugger.js:212
                    doneDeferred.fulfill(true);
                                 ^
TypeError: doneDeferred.fulfill is not a function
    at Socket.tester.once (/Users/b.../node_modules/protractor/built/debugger.js:212:34)
    at Object.onceWrapper (events.js:273:13)
    at Socket.emit (events.js:182:13)
    at Socket.EventEmitter.emit (domain.js:441:20)
    at TCP._handle.close (net.js:611:12)

我不知道发生了什么。我尝试删除每个 async/await 关键字,但仍然显示相同的消息。有什么想法吗?

显然 --element-explorer 参数似乎不适用于调试 e2e 测试。相反,您需要使用 --inspect-brk

运行 手动量角器
node --inspect-brk ./node_modules/protractor/bin/protractor ./e2e/protractor.conf.js

那就跟着official guide.