Отмена базовой аутентификации в тесте транспортира

У меня есть приложение AngularJS, которое я хочу провести сквозным тестом с помощью Protractor. У меня проблема в том, что на странице есть Iframe, который загружает некоторую информацию для показа пользователю. Этот контент защищен базовой аутентификацией HTTP.

Для тестирования приложения этот контент вообще не важен. (Я не могу войти в систему, потому что у меня нет учетных данных, и я не хочу иметь учетные данные в тесте или конфигурации.)

Поэтому я хочу как-то отменить запрос или нажать на кнопку отмены во всплывающем окне:

Базовая аутентификация

1 ответ

Решение

Поскольку вы можете выполнять JavaScript из объекта браузера, можно удалить iframe элемент из домена, даже после того, как запрос аутентификации завершен (удаление всплывающего окна). Это решает проблему, потому что он не будет запрашивать аутентификацию во время теста транспортира.

Я положил этот код в моем beforeEach:

browser.executeScript(
    'document.querySelector("iframe").remove();'
);

И это сработало как шарм.

Другие вопросы по тегам