Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Не дожидаться полной загрузки страницы


(Sergey356) #1

Всем привет:) Подскажите, есть ли в WebDriver какой нибудь метод или аннотация, которая позволит выполнять действия на странице не дождиаясь ее полной загрузки?

Дело в том, что в моем проекте, очень много партнерских скриптов и когда начинает грузитсья страница, она не будет полностью прогруженна, пока не отработают все скрипты на партнерской стороне. Таким образом, DOM уже загружен, а скрипты еще не все отработали. Есть ли какой, то способ загрузить страницу(выделить на это время секунды 4-е) и начать выполнение действий на ней?

 


Доступ к status bar в IE для проверки, что страница загрузилась полностью
(apetrovskiy) #2

Это http://automated-testing.info/forum/kak-skipnut-zagruzku-vsey-stranicy#comment-3218 ?


(Shestavin) #3

Как вариант распараллелить на два потока Thread.

Один поток выполняет get, второй в цикле проверяет подгрузился нужный элемент или нет (или отсчитывает время), и выполняет команду прерывание загрузки.

И запустить одновременно это два потока.


(Sergey356) #4

Добавил строку driver.manage().timeouts().pageLoadTimeout(3, TimeUnit.SECONDS);  Не сработало, DOM прогрузился, и пошло опять ожидание отработки скриптов. WebDriver терпеливо ждал все это время:)


(apetrovskiy) #5

Попробуйте добавить свой скрипт (к примеру, внешний файл) на серверной стороне, который будет выполняться перед партнерскими скрипками, выкидывать какую-нибудь ошибку, и загрузка страницы остановится. В ие точно должна быть такая возможность, наверное, и в других браузерах тоже. Из тестового кода заинжектить скрипт не удастся , загрузка страницы все сотрет.