För att nå Appium-servern via en mellanhand, konfigurera Pythons HTTP-kommando-kanal:

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 är programmets befintliga alternativobjekt. Behåll dess enhets-/webbläsarfunktioner och hantera driver.quit via den befintliga testlivscykeln.

AppiumClientConfig ärver Seleniums ClientConfig. Manuellt val använder http_proxy för en HTTP-serveradress och ssl_proxy för en HTTPS-adress. Här innehåller värdena URL-schemat eftersom de konfigurerar HTTP-anslutningshanteraren. För en Appium-slutpunkt som nås via en tillåten offentlig rutt, välj en HTTP-kandidat från HTTP-proxylistan för dessa värden.

En proxyfunktion som skickas inuti sessionen ber fjärrmiljön dirigera sin egen trafik. Den kan inte hjälpa Python att skicka den tidigare begäran om sessionsskapande. Konfigurera den andra vägen separat vid behov.

Använd ett kompatibelt Appium/Selenium-par som exponerar detta offentliga gränssnitt. Att patcha en installerad remote_connection-modul riktar sig mot äldre klientuppsättningar i stället för denna konfigurationsväg.

Relaterade artiklar