Skip to content

fix: support Appium-Python-Client v3+/Selenium 4.x command executor URL (PER-7786)#211

Open
rishigupta1599 wants to merge 3 commits into
masterfrom
per-7786-appium-version-compat
Open

fix: support Appium-Python-Client v3+/Selenium 4.x command executor URL (PER-7786)#211
rishigupta1599 wants to merge 3 commits into
masterfrom
per-7786-appium-version-compat

Conversation

@rishigupta1599

Copy link
Copy Markdown
Contributor

What

DriverMetaData.command_executor_url (Percy-on-Automate path) read driver.command_executor._url directly. Newer Appium-Python-Client (>3) / Selenium 4.x removed that attribute, breaking POA on modern clients.

Fix

Resolve the remote URL via a dual-path helper — prefer command_executor._client_config.remote_server_addr, fall back to ._url — mirroring the existing Metadata.remote_url. Fully backward compatible.

Validation

  • Unit suite: 134/134 against Appium-Python-Client 5.3.1 / Selenium 4.45 (+ 2 new tests for both old/new client styles).
  • End-to-end on BrowserStack App Automate: clients 2.11.1 / 3.2.1 / 4.2.1 / 5.3.1 × Appium servers 1.22.0 and 2.15.08/8 passed.

Part of PER-7786 (Appium upgrade across all SDKs).

🤖 Generated with Claude Code

DriverMetaData.command_executor_url (used by the Percy-on-Automate path)
read driver.command_executor._url directly, which newer Appium-Python-Client
(>3) / Selenium 4.x removed, breaking POA on modern clients.

Resolve the remote URL via a dual-path helper that prefers
command_executor._client_config.remote_server_addr and falls back to ._url,
mirroring the existing Metadata.remote_url logic. Backward compatible with
older clients. Validated end-to-end against Appium servers 1.22.0 and 2.15.0
with Appium-Python-Client 2.11.1 / 3.2.1 / 4.2.1 / 5.3.1.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@rishigupta1599 rishigupta1599 requested a review from a team as a code owner June 18, 2026 13:15
rishigupta1599 and others added 2 commits June 18, 2026 18:53
…ate-code)

driver_metadata._extract_remote_url duplicated metadata.remote_url, tripping
pylint R0801 (duplicate-code). Move the dual-path logic into a single
common.resolve_remote_url helper used by both.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The org submit-pypi workflow resolves .python-version; the exact patch 3.10.3
is no longer provided by GitHub's Ubuntu runners, failing setup at the
ecosystem step. Use '3.10' so setup-python resolves the latest available patch.
Pre-existing infra issue, unrelated to the SDK change; included to keep PR CI green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant