量角器 - 如果元素isNotPresent非常慢,则测试 - 有哪些替代方案?

时间:2016-04-28 17:53:03

标签: angularjs junit protractor

我使用量角器/ JUnit编码我的AngularJS测试

我愿意测试该元素不存在。

到目前为止,我使用了以下内容:

  expect(elem.isPresent()).toBe(false);

这是按预期工作的,但它的减速方式。 我并没有因为元素将状态从isPresent更改为isNotPresent,只是为了检查我的测试的某个时刻我没有各种元素。

对我而言,测试元素是否同样重要。

我的问题是,非存在的几个测试非常简单,需要花费太多时间;因为它似乎等待超时或其他什么。

我愿意尽快对非存在进行测试。

因此,我尝试了不同的approch,例如:

 - expect(element.all(locator).count()).toEqual(0)
 - ExpectedCondition : seems promising, but I do not see any condition for isNotPresent.

到目前为止,我的想法已经不多了,任何建议都会受到高度赞赏

感谢您的支持

1 个答案:

答案 0 :(得分:3)

您可以做的是减少implicit wait timeout

onPrepare: function(){
    browser.manage().timeouts().implicitlyWait(2000);
},

虽然检查它是否会影响测试的其他区域。

另一种选择是使用browser.isElementPresent()代替纯粹的webdriver实现状态检查,因此有助于避免量角器到角度的同步:

expect(browser.isElementPresent(elem)).toBe(false);

另见:

相关问题