2015-04-01 37 views
20

我正在測量使用量角器和茉莉花的網站。我想知道當前的網址以驗證測試。我怎樣才能使用量角器得到當前的網址?

我已經試過

function waitForUrlToChangeTo(urlRegex) { 
    var currentUrl; 

    return browser.getCurrentUrl().then(function storeCurrentUrl(url) { 
      currentUrl = url; 
     } 
    ).then(function waitForUrlToChangeTo() { 
      return browser.wait(function waitForUrlToChangeTo() { 
       return browser.getCurrentUrl().then(function compareCurrentUrl(url) { 
        return urlRegex.test(url); 
       }); 
      }); 
     } 
    ); 
} 

,我以這種方式

it('should log', function() { 
    //element(by.model('user.username')).sendKeys('asd'); 
    //element(by.model('user.password')).sendKeys('asd'); 
    element(by.linkText('Acceder')).click(); 
    waitForUrlToChangeTo("http://localhost:9000/#/solicitudes"); 
}); 

回答

31

這裏使用該功能是基於Expected Conditions的作者提供的示例工作代碼:

var urlChanged = function(url) { 
    return function() { 
    return browser.getCurrentUrl().then(function(actualUrl) { 
     return url != actualUrl; 
    }); 
    }; 
}; 

用法:

element(by.linkText('Acceder')).click(); 
browser.wait(urlChanged("http://localhost:9000/#/solicitudes"), 5000); 
31

Alecxe你的回答非常有幫助。

但不能你剛纔代碼:

expect(browser.getCurrentUrl()).toEqual('whateverbrowseryouarexpectingtobein'); 

如果失敗,那麼你知道你會錯了地方。

+1

我覺得目的是要等到URL匹配一定值時,不只是在給定時間點獲得的價值。 – 2016-04-13 16:20:38

相關問題