Удаленка для jenkins+selenide+selenoid+allure+docker спецов на 2-3 часа в день. 100% remote! Присоединиться к проекту

Поиск в цикле (с reload page) с интервалом до появления определённого результата на странице

robot-framework
automation
testing
selenium
Теги: #<Tag:0x00007fedbaf08390> #<Tag:0x00007fedbaf08228> #<Tag:0x00007fedbaf0fcd0> #<Tag:0x00007fedbaf0fb90>

(W0naliv3) #1

Добрый день, уважаемое сообщество!
Robot Frameworks осваиваю 2-ую неделю, но по прежде нет понимая как реализовать следующее:

Мне нужно вбивать в поиск определённые данные и кликать кнопку поиска, потом искать на странице заданный параметр и если его нету, делать reload page (после первого поиска искомый параметр уже будет в GET строке).

Читал о Wait Until Keyword Succeeds но не понял что возвращает эта конструкция и как правильно зациклить действия и верно указать условия выхода из цикла.

Пробую написать свой кейворд Try Search, в котором использую Wait Until Keyword Succeeds, но эффекта цикла пока не достиг.

Есть решение проставить sleepы, но для красоты и скорости хочу одалеть использование цикла.

Буду благодарен за развёрнутый ответ с простым примером.


(Lev Yarushin) #2

Можно использовать цикл

 :FOR    ${count}  IN RANGE      5              # сколько раз перезагружаем
   \   Wait Until Page Contains Element       локатор_элемента_означающего_что_страница_загружена
   \   ${count}=                            Get Element Count           локатор_нужного_параметра
   \   Exit For Loop If                       ${count} > 0
   \   Sleep                                   5 s               # Это по желанию, можно не ждать
   \   Reload Page