Я использую транспортир вместе с PhantomJs для тестирования e2e моего приложения angular.
В настоящее время я тестирую форму входа. Все тесты работают нормально, когда я просто проверяю
- правильно ли загружена форма
- поля имени пользователя / пароля пусты
- ошибки отображаются, когда вы вводите неверную информацию для аутентификации.
До сих пор phantomJ и транспортир спокойно сотрудничали
Однако нижеприведенные тестовые примеры просто все время терпят неудачу в транспортире. Я пробовал различные перестановки и комбинации, но безрезультатно.
когда пользователь вводит правильную информацию для аутентификации в форме входа, приложение angular изменит маршрут к разделу панели инструментов. то есть URL-адрес в окне браузера изменится с
http://localhost:12345/#/signin/
to
http://localhost:12345/#/dashboard
Когда я запускаю приведенный ниже тест, я знаю, что аутентификация прошла успешно, потому что в журналах сервера отображается отправленный объект ответа об успешном завершении. Получив этот ответ, приложение angular должно было изменить маршрут на / dashboard. Однако транспортир не может зафиксировать это изменение маршрута.
Мой тест выглядит так:
describe("SignOn Page - Performing authentication with valid credentials ",function(){
var ptor;
beforeEach(function(){
ptor = protractor.getInstance();
ptor.get('#/signon');
ptor.findElement(protractor.By.id('username')).sendKeys('joe');
ptor.findElement(protractor.By.id('password')).sendKeys('pass');
element(by.partialButtonText('Sign In')).click();
ptor.waitForAngular();
});
it("should re-direct user to dashboard page once the user enters correct authentication information",function(){
ptor = protractor.getInstance();
expect(ptor.getCurrentUrl()).toContain('dashboard');
expect(ptor.getTitle()).toContain('dashboard');
});
});
У меня вопрос к этому форуму: есть ли у транспортира проблемы с изменением состояния? Я использую ui.router в своем приложении angular?