Как справиться с медленной загрузкой страниц в Robot Framework?

#selenium #automated-tests #robotframework #testcase

Вопрос:

В моем тестовом примере платформы робота у меня есть следующий фрагмент кода для загрузки страницы и проверки того, успешно ли загружается страница или нет.

 Go To  ${href}
Wait For Condition    return document.readyState=="complete"    5
Wait For Condition    return document.visibilityState=="visible"    5
Wait Until Page Does Not Contain         404 page not found    5
 

Но в некоторых случаях Go To ${href} загрузка страницы занимает около 3 минут.

В Robot-фреймворке есть ли способ пропустить загрузку страницы и повторить попытку, если время загрузки превысит определенное время?

Ответ №1:

Во встроенной библиотеке есть ключевое слово Wait Until Keyword Succeeds , которое можно использовать для повторной попытки.

Вы можете дать 1-минутный тайм-аут своему ключевому слову навигации и запустить его максимум 5 раз, например, с помощью вышеупомянутого ключевого слова.

Комментарии:

1. Огромное спасибо. Мне это тоже надоело, когда я проверил файл журнала на время, затраченное на каждое ключевое слово, для некоторого URL-адреса Переход к ${href} занял 5 минут без повторных попыток. Моя цель здесь состоит в том, чтобы, если время загрузки страницы (время, затраченное на переход к ${href}, занимает много времени), я должен выйти из этого ключевого слова. Пока не мог этого достичь.

Ответ №2:

Вы можете изменить время ожидания по умолчанию для платформы selenium с помощью «Установить время ожидания Selenium», а затем выполнить «Перейти к…», что позволит вам не ждать 3 минуты

Если вы хотите повторить переход до тех пор, пока он не завершится успешно, вы можете использовать «Подождите, пока ключевое слово не завершится успешно», как предложено в другом ответе.

Комментарии:

1. Огромное спасибо. Я также устал от этого, по умолчанию тайм-аут selenium framework составляет 5 сек. даже для этого значения перейдите к ключевому слову <url> и продолжайте работать до тех пор, пока не будет загружена полная страница, что приводит к большому времени выполнения набора тестов. Поэтому я хочу остановить переход ПО URL-адресу {url}, если он достигнет определенного времени.

2. Я использовал Ожидание, пока ключевое слово не завершится успешно, 3 30 секунд Перейдите к ${href} также Установите тайм-аут Селена