Encaminhar os comandos Appium do Python através de um proxy
Configure o AppiumClientConfig para a conexão que cria a sessão remota; as capacidades de proxy do dispositivo aplicam-se depois a outra conexão.
Para alcançar o servidor Appium através de um intermediário, configure o canal de comandos HTTP do 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 é o objeto de opções existente da aplicação. Mantenha as suas capacidades de dispositivo/navegador e gerencie driver.quit através do ciclo de vida de teste existente.
AppiumClientConfig herda o ClientConfig do Selenium. A seleção manual usa http_proxy para um endereço de servidor HTTP e ssl_proxy para um endereço HTTPS. Aqui os valores incluem o esquema do URL porque configuram o gestor de conexões HTTP. Para um endpoint Appium acessível por uma rota pública permitida, escolha um candidato HTTP da lista de proxies HTTP para estes valores.
Uma capacidade de proxy enviada dentro da sessão pede ao ambiente remoto que encaminhe o seu próprio tráfego. Não pode ajudar o Python a submeter o pedido anterior de criação de sessão. Configure esse outro caminho separadamente quando necessário.
Use um par Appium/Selenium compatível que exponha esta interface pública. Aplicar patches a um módulo remote_connection instalado visa configurações de cliente mais antigas em vez deste caminho de configuração.