Чтобы достичь сервера Appium через посредника, настройте HTTP-канал команд Python:

from appium import webdriver
from appium.webdriver.client_config import AppiumClientConfig
from selenium.webdriver.common.proxy import Proxy, ProxyType

route = Proxy()
route.proxy_type = ProxyType.MANUAL
route.http_proxy = 'http://proxy.example:8080'
route.ssl_proxy = 'http://proxy.example:8080'

config = AppiumClientConfig(
    remote_server_addr='https://appium.example',
    proxy=route,
)
driver = webdriver.Remote(
    options=device_options,
    client_config=config,
)

device_options — это существующий объект параметров приложения. Сохраните его возможности устройства/браузера и управляйте driver.quit через существующий жизненный цикл теста.

AppiumClientConfig наследует ClientConfig из Selenium. При ручном выборе http_proxy используется для адреса HTTP-сервера, а ssl_proxy — для адреса HTTPS. Здесь значения включают схему URL, поскольку они настраивают менеджер HTTP-соединений. Для конечной точки Appium, доступной через разрешённый публичный маршрут, выберите HTTP-кандидата из списка HTTP-прокси для этих значений.

Возможность прокси, отправленная внутри сеанса, просит удалённую среду маршрутизировать собственный трафик. Она не может помочь Python отправить более ранний запрос на создание сеанса. Настройте этот другой путь отдельно, если это необходимо.

Используйте совместимую пару Appium/Selenium, предоставляющую этот публичный интерфейс. Исправление установленного модуля remote_connection нацелено на более старые клиентские конфигурации, а не на этот путь настройки.

Похожие статьи