diff --git a/.github/workflows/functional-test.yml b/.github/workflows/functional-test.yml index fecd4b1b..c4d81cd1 100644 --- a/.github/workflows/functional-test.yml +++ b/.github/workflows/functional-test.yml @@ -245,8 +245,8 @@ jobs: XCODE_VERSION: 16.4 IOS_VERSION: 18.5 IPHONE_MODEL: iPhone 16 - FLUTTER_ANDROID_APP: "https://github.com/AppiumTestDistribution/appium-flutter-server/releases/latest/download/app-debug.apk" - FLUTTER_IOS_APP: "https://github.com/AppiumTestDistribution/appium-flutter-server/releases/latest/download/ios.zip" + FLUTTER_ANDROID_APP: "https://github.com/AppiumTestDistribution/appium-flutter-server/releases/download/0.0.33/app-debug.apk" + FLUTTER_IOS_APP: "https://github.com/AppiumTestDistribution/appium-flutter-server/releases/download/0.0.33/ios.zip" PREBUILT_WDA_PATH: ${{ github.workspace }}/wda/WebDriverAgentRunner-Runner.app steps: diff --git a/appium/webdriver/appium_service.py b/appium/webdriver/appium_service.py index 93c926c6..f9d20416 100644 --- a/appium/webdriver/appium_service.py +++ b/appium/webdriver/appium_service.py @@ -21,6 +21,13 @@ from selenium.webdriver.remote.remote_connection import urllib3 +try: + import certifi + + _ca_certs: Optional[str] = certifi.where() +except ImportError: + _ca_certs = None + DEFAULT_HOST = '127.0.0.1' DEFAULT_PORT = 4723 STARTUP_TIMEOUT_MS = 60000 @@ -207,7 +214,10 @@ def is_service_listening(url: str, timeout: float = 5, custom_validator: Optiona True if Appium server is running before the timeout """ time_started_sec = time.perf_counter() - conn = urllib3.PoolManager(timeout=1.0) + pool_kwargs: Any = {'timeout': 1.0, 'cert_reqs': 'CERT_REQUIRED'} + if _ca_certs: + pool_kwargs['ca_certs'] = _ca_certs + conn = urllib3.PoolManager(**pool_kwargs) while time.perf_counter() < time_started_sec + timeout: if custom_validator is not None: custom_validator()