我是Angular 6应用程序Protractor测试的新手。我正在尝试编写登录页面的规范测试,如下所示。
describe('Protractor Login checing ', function() {
it('should add one and two', function() {
browser.get('http://localhost:4041/login');
element(by.model('username')).sendKeys('admin');
element(by.model('password')).sendKeys('admin');
element(by.id('login')).click();
// Here, What should I check whether authentication has been done or not..
// expect().toEqual('');
});
});
实际上,在我的应用程序中,一旦逻辑成功,我就会在snackBar(Angular material(中显示一条成功消息,并重定向到仪表板页面。
// Angular 6 application
this.snackBar.open(res.message, '', {
duration: 6000,
});
在这里,我应该如何检查量角器?有人帮我做这个吗?
您应该检查url
是否已更改-
describe('Protractor Login checing ', function() {
it('should add one and two', function() {
browser.get('http://localhost:4041/login');
element(by.model('username')).sendKeys('admin');
element(by.model('password')).sendKeys('admin');
element(by.id('login')).click();
browser.wait(waitForUrlChange("http://localhost:4041/dashboard"), 8000, function(){
browser.getCurrentUrl().then(function (currentUrl) {
expect(currentUrl.toEqual("http://localhost:4041/dashboard"));
});
}));
});
function waitForUrlChange(url) {
return function () {
return browser.getCurrentUrl().then(function (currentUrl) {
console.log(currentUrl);
return url === currentUrl;
});
}
}