SeleniumHQ / SeleniumHQ/selenium

[🚀 Feature]: Extensibility for Appium

Open
#13,946 0 comments 0 reactions 0 assignees View on GitHub
C-dotnet C-nodejs I-enhancement
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.