Установить время ожидания для загрузки страницы в роботизированной рамке - PullRequest
0 голосов
/ 14 декабря 2018

Я хочу установить время отклика при загрузке страницы, когда мой тест проходит через несколько страниц.Если страница не загружается в течение 2 секунд, проверка должна завершиться неудачей.Я использую Robot Framework с Selenium2Library, и каждый раз, когда я буду использовать команду Подождите, пока страница содержит текст 2s , браузер будет ждать полной загрузки страницы, а затем выполнит эту команду, которая не служит цели.Можно ли установить время ожидания загрузки страницы в Robot Framework?

1 Ответ

0 голосов
/ 15 декабря 2018

Стандартное поведение селена - ожидание загрузки страницы перед возвратом элемента управления (за исключением некоторых вызовов ajax, выполняемых js).Таким образом, в навигационном вызове vanilla Go To выполнение будет продолжено после того, как загрузка произошла - и, таким образом, Wait Until ... проходит почти немедленно.
Selenium поддерживает переопределение этого поведения с помощью настроек в требуемой_популяции, но это может быть немного связано с(настройка для Firefox называется «pageLoadStrategy», со значениями none / eager / normal, например).

Здесь кое-что гораздо проще - просто используйте таймер, получите временные метки до и после навигации,и diff будет полной загрузкой страницы.

${before}=    Get Current Date    result_format=epoch
Go To     https://your-url
${after}=       Get Current Date    result_format=epoch

Should be True    ${after} - ${before} < 2     msg=The total page load time was more than 2 seconds!

Ключевое слово Get Current Date находится в стандартной библиотеке DateTime , и при вызове с аргументом "result_format = epoch" возвращаетa float (секунды с 1970 года) - дробная часть - это миллисекунды.
Вычитая два значения, вы получаете полное время загрузки страницы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...