SeleniumHQ / SeleniumHQ/selenium
[🚀 Feature]: Extensibility for Appium
- Dominant language
- Java
- Stars
- 34.5k
- Forks
- 8.7k
- Avg merge
- 2d 1h
- Merged PRs (30d)
- 92
Description
### Feature and motivation
This is a follow-up to https://github.com/SeleniumHQ/selenium/pull/12141 to implement similar bits across the bindings. In the original PR, this was done for Ruby and the following changes needed to be done:
- [Support registering extra headers in HTTP client](https://github.com/SeleniumHQ/selenium/pull/12141/commits/c9b35131a125bc1a2510509665697bcb316b954e)
- [Support overriding User-Agent in HTTP client](https://github.com/SeleniumHQ/selenium/pull/12141/commits/82e179de18e8a114d8b6686bb3e7f7c7df76239e)
- [Support registering extra HTTP commands](https://github.com/SeleniumHQ/selenium/pull/12141/commits/e078018407cb00b7e851140f087703d90669e866)
- [Support overriding default locator conversion](https://github.com/SeleniumHQ/selenium/pull/12141/commits/724d7dc1558d37d5ea95cf0f3522a6420965d7a7)
- [Support registering custom finders for SearchContext](https://github.com/SeleniumHQ/selenium/pull/12141/commits/5d648ad72fac7b6eb1725468135dea9f6a0d9fdb)
- [Support using custom element classes](https://github.com/SeleniumHQ/selenium/pull/12141/commits/cae37fa4345778923373c458f20026f66c47cfa7)
Likely, the same needs to be done in other bindings.
### Usage example
Once bindings extensibility is implemented, we should see Appium using it directly to avoid patching/subclassing the Selenium codebase.
### Related issues
- #13949 for Java bindings.
- #13959 for Python bindings.
Contributor guide
Assessment
This issue has not been assessed yet.