Direcționarea comenzilor Appium din Python printr-un proxy
Configurați AppiumClientConfig pentru conexiunea care creează sesiunea la distanță; capacitățile de proxy ale dispozitivului se aplică ulterior altei conexiuni.
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.