Skip to content

feat(pagefactory): support custom @PageFactoryFinder locator annotations - #2499

Open
hoanle0126 wants to merge 1 commit into
appium:masterfrom
hoanle0126:feat/custom-findby-annotations
Open

hoanle0126 wants to merge 1 commit into
appium:masterfrom
hoanle0126:feat/custom-findby-annotations

Conversation

@hoanle0126

Copy link
Copy Markdown
Contributor

Proposed changes

Fixes #1043

  • Add @PageFactoryFinder and Annotations to io.appium.java_client.support, and attach finder metadata to the built-in FindBy, FindBys, and FindAll annotations.
  • Update DefaultElementByBuilder and DefaultFieldDecorator to resolve custom locator annotations extending AbstractFindByBuilder across single elements, element lists, widgets (both field-level and class-level), and By / AppiumBy fields.
  • Support legacy org.openqa.selenium.support.PageFactoryFinder custom annotations reflectively in SeleniumAnnotationsCompat when selenium-support is on the classpath, and include the new types in the v11 OpenRewrite migration recipe and guide.
  • Reject mutually exclusive finder annotation combinations on fields and widget classes with IllegalArgumentException using the declared annotation names.

Types of changes

  • 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 (if none of the other choices apply)

@hoanle0126
hoanle0126 force-pushed the feat/custom-findby-annotations branch from 5810b53 to a0789c5 Compare November 11, 2026 05:36

This branch has not been deployed

No deployments
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.

Custom FindBy annotations

1 participant