Pentru a ajunge la serverul Appium printr-un intermediar, configurați canalul de comenzi HTTP al 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 este obiectul de opțiuni existent al aplicației. Păstrați capacitățile dispozitivului/browserului și gestionați driver.quit prin ciclul de viață al testului existent.

AppiumClientConfig moștenește ClientConfig din Selenium. Selecția manuală folosește http_proxy pentru o adresă de server HTTP și ssl_proxy pentru o adresă HTTPS. Aici valorile includ schema URL deoarece configurează managerul de conexiuni HTTP. Pentru un endpoint Appium accesibil printr-o rută publică permisă, alegeți un candidat HTTP din lista de proxy-uri HTTP pentru aceste valori.

O capacitate de proxy trimisă în interiorul sesiunii cere mediului la distanță să își direcționeze propriul trafic. Nu poate ajuta Python să trimită cererea anterioară de creare a sesiunii. Configurați separat acel alt traseu atunci când este necesar.

Folosiți o pereche Appium/Selenium compatibilă care expune această interfață publică. Aplicarea de patch-uri unui modul remote_connection instalat vizează configurații de client mai vechi, nu această cale de configurare.

Articole similare