Pour joindre le serveur Appium via un intermédiaire, configurez le canal de commandes HTTP de 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 est l'objet d'options existant de l'application. Conservez ses capacités d'appareil/navigateur et gérez driver.quit via le cycle de vie de test existant.

AppiumClientConfig hérite de ClientConfig de Selenium. La sélection manuelle utilise http_proxy pour une adresse de serveur HTTP et ssl_proxy pour une adresse HTTPS. Ici, les valeurs incluent le schéma d'URL car elles configurent le gestionnaire de connexions HTTP. Pour un point de terminaison Appium accessible via une route publique autorisée, choisissez un candidat HTTP dans la liste de proxys HTTP pour ces valeurs.

Une capacité de proxy envoyée à l'intérieur de la session demande à l'environnement distant d'acheminer son propre trafic. Elle ne peut pas aider Python à soumettre la demande antérieure de création de session. Configurez cet autre chemin séparément si nécessaire.

Utilisez une paire Appium/Selenium compatible exposant cette interface publique. Corriger un module remote_connection installé cible des configurations client plus anciennes plutôt que ce chemin de configuration.

Articles similaires