-
-
Notifications
You must be signed in to change notification settings - Fork 8.6k
[py][bidi]: Implement BiDi browser module #15616
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
Conversation
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
PR Code Suggestions ✨Explore these optional code suggestions:
|
|||||||||||
|
@shbenzer thank you for implementing the Network module in python, I have implemented the Browser module taking inspiration from it! Feel free to review this. |
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.
This looks great!
Could we add the browser.SetClientWindowState browser command too?
|
Great work @navin772! |
User description
🔗 Related Issues
💥 What does this PR do?
Implements the BiDi browser module for the python bindings - https://w3c.github.io/webdriver-bidi/#module-browser.
These are the commands that have been added:
create_user_contextget_user_contextsremove_user_contextget_client_windowsThe PR also adds a new
common.pyfile in thebidi/directory that will contain the commonly used functions likecommand_builderto avoid repetition.🔧 Implementation Notes
💡 Additional Considerations
🔄 Types of changes
PR Type
Enhancement, Tests
Description
Implemented BiDi browser module for Python bindings.
Added commands for user context and client window management.
Refactored common BiDi command builder to avoid duplication.
Introduced comprehensive tests for BiDi browser functionality.
Changes walkthrough 📝
browser.py
Added BiDi browser module implementationpy/selenium/webdriver/common/bidi/browser.py
ClientWindowInfoandClientWindowStateclasses.common.py
Added reusable BiDi command builderpy/selenium/webdriver/common/bidi/common.py
command_builderfunction for BiDi commands.network.py
Refactored BiDi network commands to use common builderpy/selenium/webdriver/common/bidi/network.py
command_builder.webdriver.py
Integrated BiDi browser module into WebDriverpy/selenium/webdriver/remote/webdriver.py
browserproperty for accessing BiDi browser commands.__init__.py
Added init file for BiDi testspy/test/selenium/webdriver/common/bidi/init.py
bidi_browser_tests.py
Added tests for BiDi browser modulepy/test/selenium/webdriver/common/bidi_browser_tests.py
ClientWindowStateconstants.