Нет, но на самом деле! Я знаю, что этот общий вопрос c задавался тысячи раз, но есть кое-что более конкретное c, которое кажется мне выполнимым, и поэтому я хочу знать, как его достичь
Проблема
Я тестирую приложение angular с транспортиром . Внутри приложения я хочу убедиться, что при нажатии на ссылку меня перенаправляют на нужную страницу (не angular). Проблема в том, что до тех пор, пока я не доберусь до страницы, которую я проверяю, URL-адрес меняется примерно 3 раза (происходит многократное перенаправление), поэтому я не могу заставить функцию ожидания ждать, пока страница полностью загрузится
Что я пытался / что не будет работать для меня
- Я против
browser.sleep()
в течение более 1000 мс! browser.waitForAngular()
, поскольку это не angular page ExpectedConditions.urlIs()
URL-адрес - это переменная, которую я утверждаю ExpectedConditions.presenseOf()
страница может изменяться, поэтому я не могу полагаться на элементы внутри browser.executeScript("return window.document.readyState")
немедленно возвращает compete
, хотя страница все еще загружается (я был уверен, что это то, что мне нужно, но это тоже не сработало) - Я даже пытался добавить функции, ожидающие
innerHtml
вся страница не изменяется, по крайней мере, 3 се c, но происходит сбой, потому что иногда между переадресациями возникает пауза более 3 сек c. Все, что выше 3 se c не является разумным тайм-аутом
Вопрос
Я заметил, что когда браузер загружает страницу, кнопка Reload this page
меняет свое состояние на Stop loading this page
(значок X), пока я не буду перенаправлен на последнюю страницу (скриншоты ниже). Таким образом, вопрос в есть ли способ заставить транспортир указывать на то же условие, которое chrome использует для выбора отображаемого значка?
против
И если не совсем то же самое, но как заставить транспортир зависать, пока страница не будет полностью загружен
Важно учитывать
Очевидно, есть много грязных решений, которые я могу сделать, как явное ожидание. Но я возвращаюсь к этому вопросу время от времени, поэтому меня не интересуют эти грязные решения, которые работают 70% времени для конкретной c причины
PS Я подумал, что Кнопка меняет значок на document.load()
событие . Но я не могу понять, что я должен написать в консоли, чтобы этот скрипт записывал сообщение при обновлении sh они страницы