-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Proposed plan for Selenium 5 #2556
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
base: trunk
Are you sure you want to change the base?
Conversation
PR Compliance Guide 🔍Below is a summary of compliance checks for this PR:
Compliance status legend🟢 - Fully Compliant🟡 - Partial Compliant 🔴 - Not Compliant ⚪ - Requires Further Human Verification 🏷️ - Compliance label |
|||||||||||||||||||||||
PR Code Suggestions ✨Explore these optional code suggestions:
|
||||||||||||||
✅ Deploy Preview for selenium-dev ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
asolntsev
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe I am out of context, but I didn't understand what exactly has changed. Seems like everything said here also was applicable for Selenium 4.
|
@asolntsev good the hope is that this accurately reflects Selenium's approach. I'm trying to make it explicit, instead of assumed. It's slightly harder without Simon having final say on everything by default. |
|
I have a proposal for Selenium 5: remove support for Page Factory. To my knowledge, this is implemented only in the Java bindings, in the package
In the last few months, I've participated in research analysing the source of flakiness in Selenium tests. The results are not published yet, but we have discovered that using this pattern leads to flaky tests when web pages are rendered dynamically (which, in most real cases, always happens). All in all, I strongly recommend removing this logic from the upcoming Selenium Java releases. Since it is a breaking change, a good time to do it is with Selenium 5. |
|
Removing the page factory for the Selenium 5 release would create several problems for many users, potentially leading to them staying with Selenium 4. If we want to remove Page Factory, the first natural step would be to deprecate it, and then, most likely, build a tool to help users migrate out of the Page Factory to a more reliable structure. The other approach is to find the issues in the page factory and fix them, but other approaches work much better. I believe we don't have the time and resources to improve Page Factory. |
|
I think this is the right move for Selenium 5: #16849 |
User description
The purpose of this document is to get all the Selenium devs aligned on both the end result and the principles involved in a Selenium 5 release.
This is smaller in scope than what we have talked about previously, but the most important piece right now is that we get aligned on what we're doing.
This is a PR so we have one place to discuss at a high level what we are doing, and once it is published, so we have a reference to help decide on implementation details.
Feedback is encouraged from all Selenium contributors, and the PR will be merged and referenced as the source of truth when there are sufficient approved reviews from TLC members.
I'm requesting reviews from everyone on TLC and who has been active in
#selenium-tlcchannel recently.PR Type
Documentation
Description
Proposes Selenium 5 release plan with focused scope
Defines in-scope items: async APIs, Selenium Manager, BiDi guidelines
Establishes backwards compatibility and BiDi implementation principles
Outlines decision-making process via GitHub Issues and TLC meetings
Diagram Walkthrough
File Walkthrough
selenium5-plan.md
New Selenium 5 release plan and governance documentproposals/selenium5-plan.md
stable API, BiDi cross-bindings guidelines
deprecation, major breaking changes
deprecation policy