使用browser.getCurrentUrl()时等待Protractor与页面同步时出错:{}

时间:2014-05-27 15:39:56

标签: protractor

browser.getCurrentUrl()之前的所有代码都可以正常工作。 在等待Protractor与页面同步时,我需要在此代码中进行调整以等待足够长的时间来获取当前网址而不会出现错误#:错误:{}"?

it("should order a healthchek", function() {
    if (uiURL != null) {
        browser.get(uiURL);
        browser.driver.sleep(2000);
        element(by.id('outerSearch')).sendKeys('healthchek');
        browser.driver.sleep(2000);
        element(by.css('.serviceList')).element(by.repeater('t in state.tests').row(0)).element(by.css('.text')).click();
        browser.driver.sleep(2000);
        element(by.model('order.vet')).sendKeys('Dr. Smith');
        browser.driver.sleep(2000);
        element(by.css('.orderBottom')).element.all(by.css('.innerButton')).first().click().then(function() {
            browser.driver.wait(function() {
                browser.getCurrentUrl().then(function(url) {
                    console.log(url);
                });
            });
        });
    }
    expect(2).toEqual(2);
});

1 个答案:

答案 0 :(得分:2)

看起来这就是诀窍:

browser.driver.wait(function() {
    return browser.driver.getCurrentUrl().then(function(url) {
        expect(url).toEqual('http://localhost/ui/done');
        console.log(url);
        return url;
    });
});