You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Access Level Changes: The PR changes the access levels of several fields in multiple classes. This could potentially expose internal implementation details and should be carefully reviewed to ensure that it does not violate encapsulation principles or introduce unintended side effects.
Change the access modifier of the client field from public to protected to improve encapsulation
Consider making the client field protected instead of public to restrict access to subclasses only, maintaining encapsulation and reducing the risk of unintended modifications.
-public final HttpClient client;+protected final HttpClient client;
Apply this suggestion
Suggestion importance[1-10]: 8
Why: Changing the access modifier from public to protected for the client field enhances encapsulation and limits access to subclasses, which is a significant improvement in design.
8
Make the capabilities field final to prevent it from being reassigned after initialization
Consider making the capabilities field final to indicate that it should not be reassigned after being initialized, which can help prevent bugs.
-protected Capabilities capabilities;+protected final Capabilities capabilities;
Apply this suggestion
Suggestion importance[1-10]: 7
Why: Making the capabilities field final is a good practice to ensure it is not modified after initialization, which can help in maintaining immutability and preventing bugs.
7
Enhancement
Initialize the messageSupplier field with a more meaningful default message
Consider initializing the messageSupplier field with a more meaningful default message to improve debugging and error reporting.
-protected Supplier<String> messageSupplier = () -> null;+protected Supplier<String> messageSupplier = () -> "Condition not met within timeout";
Apply this suggestion
Suggestion importance[1-10]: 6
Why: Providing a more meaningful default message for messageSupplier can enhance debugging and error reporting, which improves the usability of the class.
6
iampopovich
changed the title
13949 better appium compatibility
[java] increasing of properties scope for better appium compatibility
Jun 24, 2024
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
User description
Thanks for contributing to Selenium!
A PR well described will help maintainers to quickly review and merge it
Before submitting your PR, please check our contributing guidelines.
Avoid large PRs, help reviewers by making them as simple and short as possible.
Description
according to request in #13949 scopes of properties were increased
here's a part of request
Motivation and Context
Types of changes
Checklist
PR Type
Enhancement
Description
HttpCommandExecutor
to improve compatibility with Appium:client
field changed to public.commandCodec
andresponseCodec
fields changed to protected.capabilities
field inRemoteWebDriver
to protected.exe
field inDriverService.Builder
to public.FluentWait
to protected:input
,clock
,sleeper
,timeout
,interval
,messageSupplier
,ignoredExceptions
.Changes walkthrough 📝
HttpCommandExecutor.java
Modify access levels for HttpCommandExecutor fields
java/src/org/openqa/selenium/remote/HttpCommandExecutor.java
client
field to public.commandCodec
andresponseCodec
fields to protected.RemoteWebDriver.java
Modify access level for RemoteWebDriver capabilities field
java/src/org/openqa/selenium/remote/RemoteWebDriver.java
capabilities
field to protected.DriverService.java
Modify access level for DriverService.Builder exe field
java/src/org/openqa/selenium/remote/service/DriverService.java
exe
field to public.FluentWait.java
Modify access levels for FluentWait fields
java/src/org/openqa/selenium/support/ui/FluentWait.java
input
,clock
,sleeper
,timeout
,interval
,messageSupplier
,ignoredExceptions
.