lmi*_*asf 30 javascript testing url angularjs protractor
我正在使用量角器和茉莉花来测试一个网站.我想知道当前的网址,以验证测试.
我试过了
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);
});
});
}
);
}
Run Code Online (Sandbox Code Playgroud)
我正在以这种方式使用这个功能
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");
});
Run Code Online (Sandbox Code Playgroud)
ale*_*cxe 41
如果您只想查看当前的网址,请使用browser.getCurrentUrl():
expect(browser.getCurrentUrl()).toEqual("expectedUrl");
Run Code Online (Sandbox Code Playgroud)
但是,如果您需要等到URL匹配某个值,请参阅答案的下一部分.
以下是基于预期条件作者提供的示例的工作代码:
var urlChanged = function(url) {
return function () {
return browser.getCurrentUrl().then(function(actualUrl) {
return url != actualUrl;
});
};
};
Run Code Online (Sandbox Code Playgroud)
用法:
element(by.linkText('Acceder')).click();
browser.wait(urlChanged("http://localhost:9000/#/solicitudes"), 5000);
Run Code Online (Sandbox Code Playgroud)
Luc*_*cCW 41
Alecxe你的回答非常有帮助.
但你不能只编码:
expect(browser.getCurrentUrl()).toEqual('whateverbrowseryouarexpectingtobein');
Run Code Online (Sandbox Code Playgroud)
如果这失败了,那么你就知道你会去错误的地方.
从Protractor 4.0.0开始,您现在可以使用预期条件来了解您的网址何时更改.
const EC = protractor.ExpectedConditions;
browser.wait(EC.urlContains('my-url'), 5000);
Run Code Online (Sandbox Code Playgroud)
我找到的asnwer来自这个,我没有真正的功劳.但以防万一它有所帮助.
| 归档时间: |
|
| 查看次数: |
47416 次 |
| 最近记录: |