Тест транспортира в Angular 6 для экрана входа
Я новичок в тестировании транспортира для приложения Angular 6. Я пытаюсь написать тест спецификации для страницы входа, как показано ниже.
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 6 application
this.snackBar.open(res.message, '', {
duration: 6000,
});
Вот как мне проверить в транспортире? Кто-нибудь поможет мне сделать это?
1 ответ
Решение
Вы должны проверить 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;
});
}
}