Подскажите как можно задержать раьботу ситемы до полной загрузки страницы.
Проблема в том что при входе система требует залогинится. После логина она сразу выдает информацию(страница заново не загружается) но далеко не все элементы успевают загрузится и возникают ошибки. Подскажите, пожалуйста, как заставить систему подождать несколько секунд и лиш потом проверять делать работу дальше.
Пробовала
selenium.wait(3000); - ошибка java.lang.IllegalMonitorStateException selenium.waitForPageToLoad("3000"); - не работает ( поскольку фактически страница уже считается загруженой)
В ситуации с implicitlyWait можно смело делать driver.findElement(By.xpath("...")), драйвер будет ждать на элемент 30 секунд (пока он появится), если его небудет - выдаст ошибку.
К примеру, если элемент найдется в течении 20 секунд - драйвер просто продолжит работу с этим элементом.
furious_duck, В предложеном вами варианте, вы абсолютно повторяете функционал implicitlyWait. Только вместо "NoElementException" будет выдавать "TimeOutException"...
@joemast Ну есть потребность у человека высказать свое решение, так пусть высказывает, тем более что ответ по теме, даже верный. Из-за таких сообщений не стоит закрывать топики, потому что даже старые проблемы могут быть релевантные для кого-то.
Вариант хорош когда есть jQuery, но вот на всяких react+redux этого нет. Столкнулся сейчас с такой проблемой, кто-нибудь имел дело с таким подводным камнем?
В приложении написан счётчик, но хранится от в сторе редакса, тестами я так понимаю туда не достучаться без залезания в код?
В React такого нет и не будет, ввиду его идеологии. Все пляшут вокруг компонентов. Любой ивент, затрагивающий стейт компонента, вызовет render на измененной части. Соответственно, даже полностью загруженная страница не дает никакой гарантии, что какой-либо компонент, или его части, не будут перерисовываться по различным событиям. Тут единственный вариант - ждать конкретного элемента по разнообразным готовым и кастомным expected conditions, помня о том, что React Component может, как конструктор, состоять из множества более мелких компонентов, реагирующих на свои собственные ивенты. Я на QAFest буду рассказывать про автоматизацию REACT приложений со всеми его подводными камнями.