【问题标题】:Protractor - test if element isNotPresent very Slow - What are the alternatives?量角器 - 测试元素 isNotPresent 是否非常慢 - 有哪些替代方案?
【发布时间】:2016-05-01 05:59:12
【问题描述】:

我正在使用量角器/JUnit 编写我的 AngularJS 测试

我愿意测试那个元素不存在。

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

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

这按预期工作,但速度很慢。 我不希望元素将状态从 isPresent 更改为 isNotPresent,只是为了在测试的某个时刻检查我没有各种元素。

对我来说,这比测试该元素是否存在更重要。

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

我愿意尽快进行不存在的测试。

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

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

到目前为止我的想法已经用完了,任何建议将不胜感激

感谢您的支持

【问题讨论】:

    标签: angularjs junit protractor


    【解决方案1】:

    你可以做的是减少implicit wait timeout

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

    尽管检查它不会影响您测试的其他领域。


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

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

    另见:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-04
      • 2011-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多