Angular 6中的Protractor测试用于登录屏幕



我是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;
});
}
}

最新更新