Повторный запуск веб-автоматизации с помощью команды цикла selenium python

#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