Appium-Befehle von Python über einen Proxy leiten
Konfiguriere AppiumClientConfig für die Verbindung, die die Remotesitzung erzeugt; Proxy-Fähigkeiten des Geräts gelten später für eine andere Verbindung.
Um den Appium-Server über einen Vermittler zu erreichen, konfiguriere Pythons HTTP-Befehlskanal:
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 ist das bestehende Optionsobjekt der Anwendung. Behalte seine Geräte-/Browser-Fähigkeiten bei und verwalte driver.quit über den bestehenden Testlebenszyklus.
AppiumClientConfig erbt von Seleniums ClientConfig. Die manuelle Auswahl verwendet http_proxy für eine HTTP-Serveradresse und ssl_proxy für eine HTTPS-Adresse. Hier enthalten die Werte das URL-Schema, weil sie den HTTP-Verbindungsmanager konfigurieren. Wähle für einen Appium-Endpunkt, der über eine erlaubte öffentliche Route erreichbar ist, einen HTTP-Kandidaten aus der HTTP-Proxy-Liste für diese Werte.
Eine Proxy-Fähigkeit, die innerhalb der Sitzung gesendet wird, bittet die entfernte Umgebung, ihren eigenen Datenverkehr zu leiten. Sie kann Python nicht dabei helfen, die frühere Anforderung zur Sitzungserstellung zu senden. Konfiguriere diesen anderen Weg bei Bedarf separat.
Verwende ein kompatibles Appium/Selenium-Paar, das diese öffentliche Schnittstelle bereitstellt. Das Patchen eines installierten remote_connection-Moduls zielt auf ältere Client-Konfigurationen statt auf diesen Konfigurationsweg.