Per raggiungere il server Appium tramite un intermediario, configura il canale dei comandi HTTP di 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 è l'oggetto opzioni esistente dell'applicazione. Mantieni le sue capacità dispositivo/browser e gestisci driver.quit tramite il ciclo di vita del test esistente.

AppiumClientConfig eredita ClientConfig di Selenium. La selezione manuale usa http_proxy per un indirizzo di server HTTP e ssl_proxy per un indirizzo HTTPS. Qui i valori includono lo schema dell'URL perché configurano il gestore delle connessioni HTTP. Per un endpoint Appium raggiungibile tramite una rotta pubblica consentita, scegli un candidato HTTP dalla lista di proxy HTTP per questi valori.

Una capacità proxy inviata all'interno della sessione chiede all'ambiente remoto di instradare il proprio traffico. Non può aiutare Python a inviare la precedente richiesta di creazione della sessione. Configura separatamente quell'altro percorso quando serve.

Usa una coppia Appium/Selenium compatibile che espone questa interfaccia pubblica. Applicare patch a un modulo remote_connection installato prende di mira configurazioni client più vecchie anziché questo percorso di configurazione.

Articoli correlati