Python의 Appium 명령을 프록시로 라우팅하기
원격 세션을 만드는 연결에 대해 AppiumClientConfig를 구성하십시오. 기기 프록시 기능은 나중에 다른 연결에 적용됩니다.
중개자를 통해 Appium 서버에 도달하려면 Python의 HTTP 명령 채널을 구성하십시오:
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은 애플리케이션의 기존 옵션 객체입니다. 기기/브라우저 기능은 그대로 두고 driver.quit은 기존 테스트 수명 주기를 통해 관리하십시오.
AppiumClientConfig은 Selenium의 ClientConfig을 상속합니다. 수동 선택은 HTTP 서버 주소에 http_proxy을, HTTPS 주소에 ssl_proxy을 사용합니다. 여기서 값에 URL 스킴이 포함되는 이유는 HTTP 연결 관리자를 구성하기 때문입니다. 허용된 공용 경로로 도달할 수 있는 Appium 엔드포인트의 경우 이 값들로 HTTP 프록시 목록에서 HTTP 후보를 선택하십시오.
세션 내부로 전송되는 프록시 기능은 원격 환경에 자체 트래픽을 라우팅하도록 요청합니다. 그것은 Python이 앞선 세션 생성 요청을 제출하는 데 도움이 될 수 없습니다. 필요할 때 그 다른 경로를 별도로 구성하십시오.
이 공용 인터페이스를 제공하는 호환 Appium/Selenium 쌍을 사용하십시오. 설치된 remote_connection 모듈을 패치하는 것은 이 구성 경로가 아니라 더 오래된 클라이언트 배치를 대상으로 합니다.