У меня есть форма для входа в систему, и теперь я хочу сделать интеграционный тест, чтобы узнать, перенаправлен ли пользователь на другую страницу после успешного входа в систему.Что такое хороший способ проверить изменение местоположения в тесте AngularJS E2E
За кулисами есть служба авторизации, которая запускает перезагрузки страницы с помощью $window.location.href = 'home';
Сначала я это:
it('should redirect to /home if credentials are correct', function(){
browser().navigateTo('/login');
input('credentials.username').enter('testuser');
input('credentials.password').enter('testpass');
element('button.login').click();
expect(browser().location().path()).toBe("/home");
});
но AngularJS тест не так - бежать как Кармы и в качестве бегуна в браузере. Тогда я подумал, что возможно expect
слишком рано, и я добавил sleep(1)
перед этим. И тогда все было хорошо, и в тестовом бегуне я мог видеть обновление страницы до утверждения.
Я предполагаю, что это может сработать лучше, если бы у меня было место(). Path ('/ home'), но я предпочитаю полную перезагрузку на этом этапе.
Есть ли какой-либо дизайн/тестовый шаблон, который должен использоваться в таких случаях, поэтому мне не нужно ставить sleep() перед ожидаемым изменением местоположения?