-
-
Notifications
You must be signed in to change notification settings - Fork 8.6k
#16270 use ClientConfig provided by user instead of the default one #16882
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:
|
|||||||||||||||
…ault one All webdriver constructors (RemoteWebDriver, ChromeDriver etc.) have an optional `ClientConfig` parameter. But still, the `ClientConfig.defaultConfig()` was used in multiple places (e.g. for establishing CDP or BiDi connection).
712188f to
a98d478
Compare
User description
🔗 Related Issues
Fixes #16270
💥 What does this PR do?
Uses
ClientConfiginstance provided by user (in webdriver constructor).🔧 Implementation Notes
All webdriver constructors (RemoteWebDriver, ChromeDriver etc.) have an optional
ClientConfigparameter.But still, the
ClientConfig.defaultConfig()was used in multiple places (e.g. for establishing CDP or BiDi connection).Now the config provided by user is used (especially WebSockets timeout for establshing CDP or BiDi connection.
💡 Additional Considerations
There are still multiple usages of
ClientConfig.defaultConfig()in Selenium Grid code.I didn't touch Grid part this time.
🔄 Types of changes
PR Type
Bug fix
Description
Use user-provided ClientConfig instead of default in CDP/BiDi connections
Pass ClientConfig through webdriver constructors to connection establishment
Add ClientConfig parameter to Connection and related factory methods
Deprecate old constructors/methods without ClientConfig parameter
Diagram Walkthrough
File Walkthrough
18 files
Pass ExecuteMethod to BiDi connection establishmentPass ClientConfig to parent ChromiumDriver constructorAccept and use ClientConfig in constructor and BiDi/CDP setupDeprecate constructor without ClientConfig parameterAdd ClientConfig parameter to getHttpClient methodAccept ClientConfig and use it for WebSocket configurationPass ExecuteMethod to DevTools connection establishmentAdd ClientConfig parameter to all factory methodsPass ClientConfig to parent ChromiumDriver constructorPass ClientConfig through constructor chain and BiDi setupPass ClientConfig to CdpEndpointFinder.getHttpClient callRefactor constructor to require non-null ClientConfigUse LocalExecuteMethod for non-remote driversNew class for local driver command executionChange getWrappedDriver return type to RemoteWebDriverStore ClientConfig and initialize ExecuteMethod as final fieldImprove error message with requested capabilities detailsAdd constructor accepting URI parameter1 files
Remove generic type parameter from class declaration1 files
Add jspecify dependency to augmenter target