如何编写browser.title()的等待条件?

时间:2019-02-28 06:53:09

标签: angularjs selenium browser automation protractor

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

任何帮助都将不胜感激。谢谢!

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

function waitForTitle(expectedTitle: string, time: number) {
    return browser.wait(() => {
        return browser.getTitle().then((currentTitle) => {
            return currentTitle === expectedTitle;
        });
    }, time);
}

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