Тест транспортира в Angular 6 для экрана входа в систему

Я новичок в тестировании Protractor для приложения 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('');
    });
});

На самом деле, в моем приложении, как только логика будет успешной, я покажу сообщение об успехе в закусочной панели (материал Angular) и перенаправлю на страницу панели инструментов.

// Angular 6 application    
this.snackBar.open(res.message, '', {
                duration: 6000,
              });

Здесь, как я должен проверить транспортир? Кто-нибудь поможет мне это сделать?


person Muthukumar Marichamy    schedule 18.12.2018    source источник
comment
Вы должны проверить, изменился ли URL-адрес или нет   -  person Harunur Rashid    schedule 18.12.2018
comment
Как проверить URL изменился или нет?   -  person Muthukumar Marichamy    schedule 18.12.2018
comment
URL-адрес может измениться без фактического открытия домашней страницы. Таким образом, это может быть частью проверки, но не единственным шагом. Вы можете проверить, присутствует ли ваше приветственное сообщение или нет, присутствуют ли какие-либо элементы домашней страницы и т. д. Чтобы быть более конкретным, мне нужно увидеть, как выглядит ваша страница входа в систему, и что вы видите после успешного вход в систему   -  person Sergey Pleshakov    schedule 18.12.2018


Ответы (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;
        });
    }
}
person Harunur Rashid    schedule 18.12.2018
comment
Да, я проверю и дам вам знать. - person Muthukumar Marichamy; 18.12.2018
comment
В Protractor мы не должны проверять обряд ответа API? - person Muthukumar Marichamy; 18.12.2018
comment
Да. Вам не нужно проверять API Res. - person Harunur Rashid; 18.12.2018
comment
Оно работает. Спасибо. Кстати, даже во время обновления клиента мы следуем той же логике, что и проверка URL-адреса следующей страницы, или любая другая возможность проверки? - person Muthukumar Marichamy; 18.12.2018