-
-
Notifications
You must be signed in to change notification settings - Fork 8.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[🐛 Bug]: [java] PageFactory.initElements overrides final fields #14474
Comments
@mk868, thank you for creating this issue. We will troubleshoot it as soon as we can. Info for maintainersTriage this issue by using labels.
If information is missing, add a helpful comment and then
If the issue is a question, add the
If the issue is valid but there is no time to troubleshoot it, consider adding the
If the issue requires changes or fixes from an external project (e.g., ChromeDriver, GeckoDriver, MSEdgeDriver, W3C),
add the applicable
After troubleshooting the issue, please add the Thank you! |
If the bug and the proposed solution are confirmed, I can contribute a fix |
Thank you for reporting the issue and proposing a solution. |
I don't think so. We are trying to phase out that package. |
In the long term, we want to remove most (all?) the support package content and redirect people to plugins or frameworks built on top of Selenium. Hence, I am closing this. |
This issue has been automatically locked since there has not been any recent activity since it was closed. Please open a new issue for related bugs. |
What happened?
The
PageFactory.initElements(element, this)
method overrides all object's fields, including assigned final fields.I think this behavior is not correct - final fields should not be changed by reflection.
Even IntelliJ hints that the assigned final fields should not change:

The problem occurs in the
selenium-support
artifactProposed solution:
DefaultFieldDecorator
should ignore final fields when decorating objects.DefaultFieldDecorator
should also ignore static fields when decorating objects.How can we reproduce the issue?
index.html
MainApp.java
CardComponent.java
Component.java
Relevant log output
The text was updated successfully, but these errors were encountered: