我在制作量角器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
欢迎任何建议。提前谢谢。
答案 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()