-
Notifications
You must be signed in to change notification settings - Fork 4
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
Update to Selenium 4.24.0 #96
Conversation
Stabilize wait for FindElements in the ElementFactory
Warning Rate limit exceeded@mialeska has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 16 minutes and 32 seconds before requesting another review. How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. WalkthroughThe pull request introduces updates to the Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant ElementFactory
participant WebDriver
User->>ElementFactory: findElements(locator, name, state, count)
ElementFactory->>WebDriver: Wait for condition
WebDriver-->>ElementFactory: Elements found or exception
ElementFactory->>User: Return elements based on count
Possibly related PRs
Poem
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
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.
Actionable comments posted: 0
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (2)
- pom.xml (2 hunks)
- src/main/java/aquality/selenium/core/elements/ElementFactory.java (2 hunks)
Additional comments not posted (2)
pom.xml (1)
20-20
: Dependency updates look good, but verify compatibility and run tests.The pull request updates several dependencies to newer versions:
log4j
from2.23.1
to2.24.0
guava
from33.1.0-jre
to33.3.0-jre
jackson-databind
from2.17.0
to2.17.2
selenium-java
from4.23.0
to4.24.0
java-client
from9.2.3
to9.3.0
commons-lang3
from3.14.0
to3.17.0
These updates are likely to include bug fixes, security patches, and new features. However, it's important to ensure that the updated versions are compatible with the project's codebase and other dependencies.
Please verify the compatibility of the updated dependencies and run a comprehensive test suite to ensure that the changes do not introduce any regressions or breaking changes.
Also applies to: 124-124, 129-129, 134-134, 139-139, 145-145
src/main/java/aquality/selenium/core/elements/ElementFactory.java (1)
86-104
: Robust element retrieval with conditional wait and exception handling.The changes to the
findElements
method introduce a more robust approach to element retrieval:
The method now uses a
conditionalWait
to wait for the desired count of elements to be present, based on the specifiedcount
parameter (ANY
,ZERO
, orMORE_THAN_ZERO
). This ensures that the method returns only when the expected number of elements is found.The wait mechanism handles specific exceptions like
StaleElementReferenceException
,JavascriptException
, andTimeoutException
. This helps to mitigate issues related to stale elements and JavaScript errors that can occur during element retrieval.The assignment of
webElements
and the creation ofIElement
instances have been moved inside theconditionalWait
block. This ensures that elements are fetched and wrapped only when the wait condition is satisfied, improving the reliability of the returned elements.Overall, these changes enhance the robustness and flexibility of the
findElements
method, making it more resilient to common issues encountered during element retrieval in dynamic web pages.
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.
Actionable comments posted: 0
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (1)
- azure-pipelines.yml (2 hunks)
Additional comments not posted (5)
azure-pipelines.yml (5)
12-19
: LGTM!The changes to the
SonarCloudPrepare
task are approved:
- Upgrading the task version to 2 may include enhancements or bug fixes.
- Simplifying the
extraProperties
input to a single-line string improves the configuration readability.
21-34
: LGTM!The changes to the
Maven
task are approved:
- Upgrading the task version to 4 may include enhancements or bug fixes.
- Adding the
clean
goal ensures a clean state before building the project.- Updating the
jdkVersionOption
to1.11
aligns with a more explicit versioning format.- Introducing new parameters such as
mavenVersionOption
,mavenAuthenticateFeed
,effectivePomSkip
, andsonarQubeRunAnalysis
allows for a more detailed configuration of Maven operations.
36-38
: LGTM!The changes to the
SonarCloudAnalyze
task are approved:
- Upgrading the task version to 2 may include enhancements or bug fixes.
- Setting the
jdkversion
input toJAVA_HOME
ensures that the task uses the JDK version specified by theJAVA_HOME
environment variable.
42-42
: LGTM!The change to the
SonarCloudPublish
task is approved:
- Upgrading the task version to 2 may include enhancements or bug fixes.
96-109
: LGTM!The changes to the
Maven
task are approved:
- Upgrading the task version to 4 may include enhancements or bug fixes.
- Updating the
goals
parameter toclean test -Dprofile=local
ensures a clean state before running tests with thelocal
profile.- Updating the
jdkVersionOption
to1.11
aligns with a more explicit versioning format.- Introducing new parameters such as
mavenVersionOption
,mavenAuthenticateFeed
,effectivePomSkip
, andsonarQubeRunAnalysis
allows for a more detailed configuration of Maven operations.
remove update of java heap space
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.
Actionable comments posted: 0
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (1)
- azure-pipelines.yml (2 hunks)
Files skipped from review as they are similar to previous changes (1)
- azure-pipelines.yml
Quality Gate passedIssues Measures |
Stabilize wait for FindElements in the ElementFactory +semver:feature
PR Details
Related Issue Link:
How Has This Been Tested
Checklist