【问题标题】:How to write wait condition for browser.title()?如何为 browser.title() 编写等待条件?
【发布时间】:2019-07-22 00:46:22
【问题描述】:

我正在寻找获取浏览器标题的等待条件。目前,我使用browser.getTitle() 来获取浏览器标题。不知何故,我的脚本超时等待获取浏览器标题。在这种情况下,我不能使用browser.sleep。我如何通过使用browser.wait() 条件来实现这一点?

非常感谢任何帮助。谢谢!

【问题讨论】:

  • 这是angularjs(而不是angular)吗?
  • 是的。这是angularjs。修改它。谢谢

标签: angularjs selenium browser automation protractor


【解决方案1】:

这似乎是titleIs ExpectedCondition 的完美用例。可以试试吗?

var EC = protractor.ExpectedConditions;
browser.wait(EC.titleIs('foo'), 5000, 'Title not "foo" after 5 seconds');

【讨论】:

  • 这也有效。可能是推荐的解决方案。感谢您花时间回答这个问题! :)
【解决方案2】:
function waitForTitle(expectedTitle: string, time: number) {
    return browser.wait(() => {
        return browser.getTitle().then((currentTitle) => {
            return currentTitle === expectedTitle;
        });
    }, time);
}

您只需要记住时间以毫秒为单位。

【讨论】:

  • 谢谢。我将尝试此解决方案并发布我的回复。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-03-05
  • 1970-01-01
  • 2018-08-28
  • 1970-01-01
  • 2015-03-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多