Skip to content

feat(protocol): extend Appium protocol#14507

Merged
christian-bromann merged 2 commits intowebdriverio:mainfrom
eglitise:extend-appium-protocol
May 25, 2025
Merged

feat(protocol): extend Appium protocol#14507
christian-bromann merged 2 commits intowebdriverio:mainfrom
eglitise:extend-appium-protocol

Conversation

@eglitise
Copy link
Contributor

Proposed changes

This PR extends the Appium protocol with several endpoints:

  • Endpoints that were part of the JSONWP spec and were removed in WDIO v9, but are still used in Appium:
    • GET /session/:sessionId
    • GET /session/:sessionId/location
    • POST /session/:sessionId/location
  • Endpoints added in Appium 2.16:
    • GET /session/:sessionId/appium/commands
    • GET /session/:sessionId/appium/extensions
    • GET /session/:sessionId/appium/capabilities

Note that while GET /session/:sessionId is marked as deprecated, it is still needed for compatibility with Appium <2.16.

Types of changes

  • Polish (an improvement for an existing feature)
  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update (improvements to the project's docs)
  • Specification changes (updates to WebDriver command specifications)
  • Internal updates (everything related to internal scripts, governance documentation and CI files)

Checklist

  • I have read the CONTRIBUTING doc
  • I have added tests that prove my fix is effective or that my feature works
  • I have added the necessary documentation (if appropriate)
  • I have added proper type definitions for new commands (if appropriate)

Backport Request

//: # (The current main branch is the development branch for WebdriverIO v9. If your change should be released to the current major version of WebdriverIO (v8), please raise another PR with the same changes against the v8 branch.)

  • This change is solely for v9 and doesn't need to be back-ported
  • Back-ported PR at #XXXXX

Further comments

These changes are needed for Appium Inspector, which currently still uses webdriver v7. Refer to this issue for more information.

Reviewers: @webdriverio/project-committers

Copy link
Member

@christian-bromann christian-bromann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very cool 👍 I wasn't aware these exist, thanks for adding them!

@christian-bromann christian-bromann added the PR: New Feature 🚀 PRs that contain new features label May 25, 2025
@christian-bromann christian-bromann merged commit ca64991 into webdriverio:main May 25, 2025
3 checks passed
@wdio-bot
Copy link
Contributor

Hey eglitise 👋

Thank you for your contribution to WebdriverIO! Your pull request has been marked as an "Expensable" contribution.

We've sent you an email with further instructions on how to claim your expenses from our development fund.
Please make sure to check your spam folder as well. If you have any questions, feel free to reach out to us at expense@webdriver.io or in the contributing channel on Discord.

We are looking forward to more contributions from you in the future 🙌

Have a nice day,
The WebdriverIO Team 🤖

@eglitise eglitise deleted the extend-appium-protocol branch May 25, 2025 18:41
@eglitise
Copy link
Contributor Author

eglitise commented May 25, 2025

Looks like all the unit tests failed due to getSession 👀 (this line)
Should I make a PR that adjusts the test, if this is expected?

@christian-bromann
Copy link
Member

Should I make a PR that adjusts the test, if this is expected?

Ups, I was a bit fast merging, he 😆 Wouldn't expect that adding protocol commands would cause issues in the test. I can make the fix and push directly, don't worry! Thanks a lot!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Expensable $35 💸 PR: New Feature 🚀 PRs that contain new features

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants