Я использую транспортир для тестирования e2e. Тесты должны сначала ввести слишком короткие имя пользователя и пароли и из-за Angular валидаторы при нажатии на кнопку отправки (которая отключена) отклоняются и остаются на месте (это работает!), Затем должны вводить имя пользователя правильной длины с также пароль правильной длины, нажмите на кнопку отправки и НЕ получите перенаправление, потому что это ложный логин. Это не удается ... Последний тест требует ввода правильных данных для входа в систему и нажатия кнопки «Отправить». Он должен быть перенаправлен на панель инструментов. Согласно этому ответу { ссылка } - это все, что нужно для решения моей проблемы, которая, похоже, выдает ошибку
- Failed: script timeout
(Session info: chrome=79.0.3945.130)
(Driver info: chromedriver=79.0.3945.16 (93fcc21110c10dbbd49bbff8f472335360e31d05-refs/branch-heads/3945@{#262}),platform=Windows NT 10.0.18362 x86_64)```
для обоих моих тестов. Как я могу это исправить? Мои тесты написаны следующим образом:
it('should enter too short username and password and NOT get redirected => stay put', () => {
element(by.css('#inputUser')).sendKeys('bah');
element(by.css('#inputPassword')).sendKeys('bah');
const btn = element(by.css('#loginSubmit'));
btn.click();
const curUrl = browser.getCurrentUrl();
expect(curUrl).toBe('http://localhost:4200/avior/login');
});
it('should enter incorrect username and password and NOT get redirected => stay put', () => {
const ele1 = element(by.css('#inputUser'));
const ele2 = element(by.css('#inputPassword'));
const btn = element(by.css('#loginSubmit'));
ele1.clear();
ele2.clear();
ele1.sendKeys('bah');
ele2.sendKeys('bahbahbah');
btn.click();
browser.waitForAngular();
const curUrl = browser.getCurrentUrl();
expect(curUrl).toBe('http://localhost:4200/avior/login');
});
it('should enter correct username and password and get redirected to /avior/dashboard', () => {
const ele1 = element(by.css('#inputUser'));
const ele2 = element(by.css('#inputPassword'));
const btn = element(by.css('#loginSubmit'));
ele1.clear();
ele2.clear();
ele1.sendKeys('Chad');
ele2.sendKeys('chadchad');
btn.click();
browser.waitForAngular();
const curUrl = browser.getCurrentUrl();
expect(curUrl).toBe('http://localhost:4200/avior/dashboard');
});
ОБНОВЛЕНИЕ Токен jwt отправляется как повар ie в ответ, что может быть частью проблемы. Кажется, я не могу найти в Интернете информацию о том, как обращаться с файлами cookie с помощью транспортира.