量角器的browser.pause()暂停,但没有显示上下文

时间:2017-03-22 20:31:24

标签: selenium-webdriver webdriver protractor

我在制作量角器browser.pause()时遇到了麻烦。它暂停,但它没有显示上下文。有没有已知的问题?

终端输出就是这样:

$ protractor conf.js
[10:05:23] I/launcher - Running 1 instances of WebDriver
[10:05:23] I/hosted - Using the selenium server at http://localhost:4444/wd/hub
Started
[10:05:27] I/protractor -
[10:05:27] I/protractor - Encountered browser.pause(). Attaching debugger...
[10:05:27] I/protractor -
[10:05:27] I/protractor - ------- WebDriver Debugger -------
[10:05:27] I/protractor - Starting WebDriver debugger in a child process. Pause is still beta, please report issues at github.com/angular/protractor
[10:05:27] I/protractor -
[10:05:27] I/protractor - press c to continue to the next webdriver command
[10:05:27] I/protractor - press ^D to detach debugger and resume code execution
[10:05:27] I/protractor -
Starting debugger agent.
Debugger listening on [::]:5858
>>>

根据互联网上的一些图片,它应该显示更多的行,第一个是" ControlFlow ::",然后跟踪到它暂停的代码片段。

如果我删除暂停,它会通过测试OK。

我使用量角器教程(http://www.protractortest.org/#/tutorial)上的简单示例(只添加一行:browser.pause();):

    // spec.js
    describe('Protractor Demo App', function() {
      it('should have a title', function() {
        browser.get('http://juliemr.github.io/protractor-demo/');
        browser.pause();
        expect(browser.getTitle()).toEqual('Super Calculator');
      });
    });

我在macOS Sierra和Ubuntu中尝试过,两种情况完全相同。在macOS上,我尝试使用Chrome,Firefox和Safari(具有功能配置属性)。

版本:

量角器版本5.1.1。 Chrome(版本56.0.2924.87,64位)。 火狐(52.0) Safari(10.0.3)

使用Firefox时,在暂停时(在测试开始时)会发生相同的情况,并且没有暂停但它没有通过测试,它表示页面没有Angular(但确实如此):< / p>

[09:44:56] E/protractor - Could not find Angular on page http://juliemr.github.io/protractor-demo/ : retries looking for angular exceeded

使用Safari,它甚至无法连接(有或没有暂停):

[09:40:00] I/launcher - Running 1 instances of WebDriver
[09:40:00] I/hosted - Using the selenium server at http://localhost:4444/wd/hub
[09:40:22] E/launcher - Connection refused
[09:40:22] E/launcher - WebDriverError: Connection refused

欢迎任何建议。提前谢谢。

2 个答案:

答案 0 :(得分:3)

我终于找到了一种运行repl的方法。当browser.pause暂停时,有一个repl命令,但它不再起作用了:

Error: using repl from browser.pause() has been removed. Please use browser.enterRepl instead.

因此,根据该消息,我将browser.pause();更改为browser.enterRepl();,然后停止并向我提供了背景信息。

还有enterRepl的另一个别名:browser.explore();

希望它可以帮助任何有同样问题的人。

答案 1 :(得分:0)

我能够通过browser.sleep(5000)解决等待问题 使用 - browser.sleep()