gpt4 book ai didi

debugging - 如何使用 VS Code 调试器记录 Protractor 文本元素?

转载 作者:行者123 更新时间:2023-12-02 11:29:40 25 4
gpt4 key购买 nike

我为 VS Code 配置了这样的调试任务以进行 Protractor 调试:

{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Debug Tests (Local)",
"program": "${workspaceRoot}/node_modules/protractor/bin/protractor",
"args": [
"${workspaceRoot}/config/protractor/protractor.conf.override.js"
]
}
]
}

假设我有这个测试:

it('description', function () {
expect(this.myPageObject.title.getText()).toEqual('My PO Title');
})

这一切都工作正常,但现在我尝试使用 VS Code 来调试它。我在 expect 行上设置了一个断点,调试本身工作得很好。但现在我想打印(到调试控制台)this.myPageObject.title.getText() 的值。

我知道 getText 和大多数其他 Protractor 方法返回 promise ,并且我需要解决它们,但我不确定如何解决。这是我尝试过的:

this.myPageObject.title.getText()
ElementFinder {browser_: ProtractorBrowser, then: (fn, errorFn) => { … }, parentElementArrayFinder: ElementArrayFinder …}

this.myPageObject.title.getText().then(console.log)
ManagedPromise {flow_: ControlFlow, stack_: null, parent_: ManagedPromise …}

我错过了什么?

最佳答案

不幸的是,我没有想到好的解决方案

1) 尝试将断点放入回调中 -

let titleText = this.myPageObject.title.getText().then(text => {
return text // Breakpoint here, so you can observe text variable in debug panel
})
expect(titleText).toEqual('My PO Title');

2) 您可以尝试使用 > protractor --elementExplorer 终端命令进行调试,该命令以交互方式启动 Protractor ,您可以在其中逐步观察您的操作

3) 您可以尝试在断点处的 vs code 调试终端中使用 await this.myPageObject.title.getText() 。没有尝试过,但可能有用。

这是 Promise Manager 的问题之一 - 调试困难,所以这就是为什么它很快就会被弃用。更多信息:http://seleniumhq.github.io/selenium/docs/api/javascript/module/selenium-webdriver/lib/promise.htmlhttps://github.com/SeleniumHQ/selenium/issues/2969

关于debugging - 如何使用 VS Code 调试器记录 Protractor 文本元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45840437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com