【问题标题】:Protractor not waiting for page load Angular4量角器不等待页面加载Angular4
【发布时间】:2018-02-12 22:27:07
【问题描述】:

我一直在运行量角器,但必须放入一个

browser.sleep(1000) 和一个browser.ignoreSynchronization = true 让它运行,尤其是在登录之后,否则它不会得到页面。

我知道browser.sleep 不是推荐的做法,这就是我问的原因。

【问题讨论】:

  • browser.sleep 之后,您的测试执行被取消,因为页面没有加载,对吗?
  • 不继续,因为我使用 browser.sleep(1000),但我读过他们说我最好不要使用 browser.sleep

标签: angular protractor


【解决方案1】:

browser.sleep 的问题是当您的软件操作需要更多时间然后指定您的测试将失败时。 另一个问题是,如果您使用大量browser.sleeps,您的测试可能会非常慢,因为测试一直在等待您在browser.sleep 中指定的整个时间。 但当然也有需要使用browser.sleep的情况,但在我看来并不多。

等待元素的更好解决方案是 browser.wait 函数和 Expected Conditionsbrowser.wait 获取一个方法作为参数,如果特定条件为真,则返回真,只要函数未解析或达到超时,它就会等待。

例子:

var EC = protractor.ExpectedConditions;

var button = element(by.id('submitLogin'));
// Waits max. 10 seconds for the button to become clickable
browser.wait(EC.elementToBeClickable(button), 10000); 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-06
    • 2018-03-03
    • 1970-01-01
    • 1970-01-01
    • 2017-07-24
    相关资源
    最近更新 更多