使用 browser.pause()

pause() 方法是最简单的解决方案之一,Protractor 为你提供了调试代码的方法,为了使用它,你必须将其添加到你希望暂停执行的代码中。一旦执行处于暂停状态:

  1. 你可以使用 C(C 型)向前移动。使用它时要小心,你必须毫不拖延地编写这个命令,因为如果延迟按 c,你的断言库可能会出现超时错误。

  2. 输入 repl 进入交互模式。交互模式用于将浏览器命令直接发送到打开的浏览器实例。例如,在交互模式下,你可以发出如下命令:

> element(by.css('#username')).getText() 
> NoSuchElementError: No element found using locator: by.username("#username")

注意上面命令的输出直接显示在那里,这可以让你知道命令的正确性。

注意:如果你已经打开 Chrome 开发工具,则必须在继续测试之前关闭它们,因为当 Dev Tools 打开时 ChromeDriver 无法运行。

  1. 使用 CTRL+C 退出调试模式,你可以使用传统的 CTRL + C 命令从调试模式中退出。
 it('should pause when we use pause method', function () {
    browser.get('/index.html');
    
    var username = element(by.model('username'));
    username.sendKeys('username');
    browser.pause();

    var password = element(by.model('password'));
    password.sendKeys('password');
    browser.pause();
});
  1. 按 d 继续下一个调试器语句