使用 browser.debugger()
你可以使用 browser.debugger()
来停止执行。你可以在代码中的任何位置插入它,它将在该行之后停止执行,直到你不命令继续。
注意:要在调试器模式下运行测试,你必须发出如下命令:
`protractor debug <configuration.file.js>`
输入 c
开始执行并在断点后继续或输入 next
命令。下一个命令将进入控制流程的下一行。
Protractor 中使用的调试器使用节点调试器 ,它以异步方式暂停执行。例如,在下面的代码中,browser.debugger()
将在执行 username.sendKeys('username')
时被调用。
注意: 由于这些是异步任务,你必须增加规范的默认超时,否则将抛出默认超时异常!
it('should pause when we use pause method', function () {
browser.get('/index.html');
var username = element(by.model('username'));
username.sendKeys('username');
browser.debugger();
var password = element(by.model('password'));
password.sendKeys('password');
});
可以输入命令进入 repl
模式 -
debug > repl
> element(by.model('abc')).sendKeys('xyz');
这将运行 sendKeys 命令作为下一个任务,然后重新进入调试器。
可以通过将端口传递给调试器方法来改变他们想要调试脚本的 Port no.
-
browser.debugger(4545); //will start the debugger in port 4545
debugger()
方法将 Protractor 的客户端注入到浏览器中,你可以在浏览器控制台中运行一些命令来获取元素。使用客户端脚本的示例之一是:
window.clientSideScripts.findInputs('username');