Javascript 如何使用量角器获取当前url?
我正在使用量角器和jasmine测试一个网站。我想知道当前的url,以便验证测试 我试过了Javascript 如何使用量角器获取当前url?,javascript,angularjs,url,testing,protractor,Javascript,Angularjs,Url,Testing,Protractor,我正在使用量角器和jasmine测试一个网站。我想知道当前的url,以便验证测试 我试过了 function waitForUrlToChangeTo(urlRegex) { var currentUrl; return browser.getCurrentUrl().then(function storeCurrentUrl(url) { currentUrl = url; } ).then(function waitForUr
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");
});
如果只想检查当前URL,请使用: 但是,如果您需要等待URL匹配某个值,请参阅答案的下一部分
以下是一个工作代码,该代码基于本手册作者提供的示例: 用法:
element(by.linkText('Acceder')).click();
browser.wait(urlChanged("http://localhost:9000/#/solicitudes"), 5000);
你的回答很有帮助
但你就不能编写代码:
expect(browser.getCurrentUrl()).toEqual('whateverbrowseryouarexpectingtobein');
如果失败了,那么你就知道你去错了地方。因为你现在可以使用预期的条件来知道你的url什么时候改变了
const EC = protractor.ExpectedConditions;
browser.wait(EC.urlContains('my-url'), 5000);
我找到的asnwer来自,我没有真正的学分。但只是以防万一
我认为这样做的目的是等待URL匹配某个值,而不仅仅是在给定的时间点获取值。这个答案+1。问题是“如何使用量角器获取当前url?”。这是谷歌的第一个结果。我认为这个答案更有用,即使它不适用于OP。这是正确的答案,也是检查URL更可靠的方法。
expect(browser.getCurrentUrl()).toEqual('whateverbrowseryouarexpectingtobein');
const EC = protractor.ExpectedConditions;
browser.wait(EC.urlContains('my-url'), 5000);