Как правильно закрыть драйвер Appium в Python?

Я использую Python 3.7 с Appium 1.15.1 на реальном Android-устройстве. Когда мой скрипт завершает работу, я закрываю драйвер следующими строками:

if p_driver:
    p_driver.close()

но я получаю эту ошибку:

  File "C:\Users\Nino\AppData\Local\Programs\Python\Python37\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 688, in close
    self.execute(Command.CLOSE)
  File "C:\Users\Nino\AppData\Local\Programs\Python\Python37\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "C:\Users\Nino\AppData\Roaming\Python\Python37\site-packages\appium\webdriver\errorhandler.py", line 29, in check_response
    raise wde
  File "C:\Users\Nino\AppData\Roaming\Python\Python37\site-packages\appium\webdriver\errorhandler.py", line 24, in check_response
    super(MobileErrorHandler, self).check_response(response)
  File "C:\Users\Nino\AppData\Local\Programs\Python\Python37\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: An unknown server-side error occurred while processing the command. Original error: Could not proxy. Proxy error: Could not proxy command to remote server. Original error: 404 - undefined

Хотелось бы понять, что я делаю не так? Как правильно закрыть драйвер? Не могли бы вы мне помочь?


person Gauthier Buttez    schedule 27.03.2020    source источник


Ответы (1)


Шаг 1: сначала вы должны получить словарь сеанса appium:

session_instance = webdriver.Remote(str(url), caps_dic)

где url — это URL-адрес вашего сервера appium. что-то вроде: "http://127.0.0.1:4723/wd/hub" и caps_dic — это словарь всех ваших желаемых возможностей

Шаг 2: вы запускаете метод quit() в сеансе:

session_instance[session].quit()

Итак, весь фрагмент:

session_instance = webdriver.Remote(str(url), caps_dic)
session_instance[session].quit()
person Mohammad Monfared    schedule 28.03.2020