检查量角器中是否存在元素

时间:2017-07-27 11:40:40

标签: protractor

我有一个量角器测试,希望登录后某个面板不存在。我的代码在下面,但每次执行时,量角器都会挂起然后再失败。

Error: Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.
it('The team overlay page should not be present when another user logs in.', function() {

 loginPage.login(user.username, user.password);
 expect(element(by.css('div.panel#myPanel')).isPresent()).toBe(false);

});

我也尝试过使用.count(),但它也做了同样的事情。与上面相同的错误。

expect(element.all(by.css('div.panel#myPanel')).count()).toBe(0);

1 个答案:

答案 0 :(得分:0)

您可以尝试通过允许浏览器使用以下某些内容完全加载来等待元素:

browser.driver.sleep(time in milliseconds)

browser.waitForAngular()

您可以增加超时间隔:

jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000

,否则

确保您的定位器通过css正常工作(即,当面板应该存在时进行测试),并确保您尝试访问的网页支持Angular。我的赌注是你的定位器的格式有些不正确,因为我不知道还有什么问题。