Как правильно закрыть драйвер Appium в Python? - PullRequest
0 голосов
/ 27 марта 2020

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

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

Я хотел бы понять, что я я делаю не так? Как правильно закрыть драйвер? Можете ли вы помочь мне, пожалуйста?

1 Ответ

0 голосов
/ 29 марта 2020

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

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

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

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

session_instance[session].quit()

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

session_instance = webdriver.Remote(str(url), caps_dic)
session_instance[session].quit()
...