如何使用量角器获取当前url
how can I get the current url using protractor?
我正在使用量角器和jasmine测试一个网站。我想知道当前的网址,以便验证测试。
我试过
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,请使用browser.getCurrentUrl()
:
expect(browser.getCurrentUrl()).toEqual("expectedUrl");
但是,如果您需要等待URL匹配某个值,请参阅答案的下一部分。
以下是基于预期条件作者提供的示例的工作代码:
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);
Alecxe您的回答非常有帮助。
但你不能只是编码:
expect(browser.getCurrentUrl()).toEqual('whateverbrowseryouarexpectingtobein');
如果失败了,那么你就知道你去错地方了。
自从Protractor 4.0.0以来,您现在可以使用预期的条件来知道您的url何时更改。
const EC = protractor.ExpectedConditions;
browser.wait(EC.urlContains('my-url'), 5000);
我找到的asnwer来自这个,我没有真正的学分。但以防万一它会有所帮助。
Protractor-一般等待URL更改
相关文章:
- 如何在reactrouterv2.+中从URL获取参数
- 如何通过给定的url获取youtube音频数据
- 从 url 获取字符串值
- "“用户友好”;vimeo嵌入,从url获取嵌入代码
- 从Javascript中的URL获取参数
- IFrame 从不同域上的父 url 获取参数
- 从URL获取JSON数据并使用innerHTML - 如何显示
- 如何从文档 URL 获取哈希
- 使用 jquery 或 JavaScript 从 URL 获取具有三括号的 JSON 数据
- 使用 JavaScript 从 URL 获取 JSON 响应
- JavaScript:从具有使用 # 符号的路由的 URL 获取查询字符串
- 使用javascript从url获取自动建议
- 从URL获取数据并阻止自动重定向(插件SDK Mozilla)
- 主干:在变量中提供JSON,而不是通过URL获取
- Angularjs-如何从URL获取参数
- JS:根据页面URL获取图片
- JSON获胜't从URL获取完整日历中的事件
- 从url获取文件名
- 使用javascript或PHP从给定的URL获取图像源
- 如何从websocket url获取数据