Как реализовать цикл While в Robot Framework

robot-framework
Теги: #<Tag:0x00007fedb9957460>

(Алексей Смиян) #1

Добрый вечер. Стоит задача написать что-то наподобии цикла While в #robot-framework . Если точнее, то заходя на страницу, проверять наличие на ней элемента, и в случае его отсутствия, делать sleep, reload page и так по кругу, пока элемент не появится. В случае его появления прервать цикл и продолжить выполнение программы. Неприятный момент в том, что появление элемента зависит от внешних сервисов и точное время неизвестно. Бывает до трех минут. Пробовал писать через Run keyword if, не получилось. Подскажите, какую конструкцию будет лучше применить в данном случае?


(rmerkushin) #2

Напишите кейворд и оберните его в Wait Until Keyword Succeeds
Так же можно написать свою либу на python или сделать такой костыль:

*** Test Cases ***
For Test
    :FOR    ${i}    IN RANGE    999999
    \    Exit For Loop If    ${i} == 9
    \    Log    ${i}
    Log    Exited

(Алексей Смиян) #3

Спасибо. Реализовал с помощью Wait Until Keyword Succeeds. Работает. время прохождения тестов сократилось на 3-4 минуты.