#python #selenium #loops
#python #selenium #циклы
Вопрос:
Версия Pycharm Pro имеет возможность повторно запускать аварийные тесты. У меня нет роскоши позволить себе версию pro, поэтому я использую версию сообщества, в которой нет опции повторного тестирования (насколько мне известно).
У моего скрипта нет проблем, но веб-страница, которую я использую, через несколько часов обновится и выйдите из системы, чтобы команды в моем скрипте возвращали:элемент не найден.
Я попытался использовать метод обработки ошибки, чтобы повторно запустить весь скрипт и открыть новый браузер после такого инцидента. Проблема в том, что тест выполняется даже без запуска содержимого:
i =10
while i<10:
# get_webpagage_and_login_so_forth
try:
# dosomething()
except:
pass
Я ожидал, что после сбоя скрипта он пройдет и вернется к первому циклу открытия нового браузера, но это не так. Пожалуйста, помогите. извините за мою сокращенную версию кода
Комментарии:
1.
script has no problems but the webpage that Im using after a few hours will log the user out such that the commands in my script return :element not found.
под этим вы подразумеваете, что ваш скрипт работает часами? Подумайте о рефакторинге вашего кода.2. Привет, разработчик, я все еще новичок в программировании и не понимаю вашего заявления. Это формулировка моего вопроса. Я имею в виду, что через несколько часов веб-страница обновится до новой другой страницы. Вручную после того, как это произойдет, я просто повторно запускаю тест. но я ищу автоматизированный способ сделать это
Ответ №1:
Если вы используете pytest
, вы можете пометить тесты, которые будут запущены повторно после сбоя, используя этот плагин: https://github.com/box/flaky