Skip to content

Update to Selenium 4.41.0 +semver:feature#159

Merged
mialeska merged 2 commits intomasterfrom
enhancement/update-to-selenium-4.410
Mar 25, 2026
Merged

Update to Selenium 4.41.0 +semver:feature#159
mialeska merged 2 commits intomasterfrom
enhancement/update-to-selenium-4.410

Conversation

@mialeska
Copy link
Copy Markdown
Contributor

Update plugins and dependencies versions.
Update DevTools references.
Stabilize tests

Update plugins and dependencies versions.
Update DevTools references.
Stabilize tests
@mialeska mialeska self-assigned this Mar 25, 2026
@mialeska mialeska added the enhancement New feature or request label Mar 25, 2026
@mialeska mialeska added dependencies Pull requests that update a dependency file java labels Mar 25, 2026
@github-project-automation github-project-automation bot moved this to In progress in Aquality Selenium Mar 25, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 25, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: b66a1c51-a13f-4671-ad62-6c82fe8067b8

📥 Commits

Reviewing files that changed from the base of the PR and between f476660 and 30d3c61.

📒 Files selected for processing (1)
  • src/main/java/aquality/selenium/elements/interfaces/IShadowRootExpander.java

Walkthrough

Bumped Maven dependencies and build plugins; migrated Selenium DevTools imports from v143/v144 to v145 across main/devtools classes and tests; changed test form latitude to nullable and added test skip handling; minor Javadoc additions. No public API signature changes except the test helper returning Double.

Changes

Cohort / File(s) Summary
Maven Dependencies & Plugins
pom.xml
Bumped aquality-selenium-core, jackson-databind, testng and multiple build/test plugins (compiler, jacoco, surefire, assembly, source, javadoc, central-publishing, versions).
DevTools Protocol Migration (main)
src/main/java/aquality/selenium/browser/devtools/DevToolsHandling.java, src/main/java/aquality/selenium/browser/devtools/EmulationHandling.java, src/main/java/aquality/selenium/browser/devtools/JavaScriptHandling.java, src/main/java/aquality/selenium/browser/devtools/NetworkHandling.java
Updated Selenium DevTools imports from v144 (and v143 where applicable) to v145; no logic changes.
DevTools Protocol Migration (tests)
src/test/java/tests/usecases/devtools/DeviceEmulationTest.java, src/test/java/tests/usecases/devtools/OverrideUserAgentTest.java, src/test/java/tests/usecases/devtools/NetworkSpeedEmulationTest.java
Updated DevTools import versions in tests (v143→v144, v144→v145) to match updated CDP packages; test logic unchanged except where noted.
Geolocation & Test Helper
src/test/java/forms/MyLocationForm.java, src/test/java/tests/usecases/devtools/OverrideGeolocationTest.java
MyLocationForm.getLatitude() changed from double to nullable Double; OverrideGeolocationTest now skips when latitude is unavailable (SkipException) and uses nullable handling.
Javadoc Updates
src/main/java/aquality/selenium/elements/interfaces/IShadowRootExpander.java, src/main/java/aquality/selenium/logging/DevToolsCommandLoggingOptions.java
Added @param documentation for count in findElementsInShadowRoot() and result in setResult(); no code behavior changes.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Poem

🐇 I hopped through versions, quick and spry,

Switched v143, v144 up to v145.
Maven feathers gleam, tests learn to skip,
Nullable latitude saved on my trip.
A tiny rabbit cheers the CI zip! 🎉

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 25.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and accurately summarizes the main change: updating to Selenium 4.41.0, which aligns with the widespread dependency and DevTools version updates throughout the changeset.
Description check ✅ Passed The description directly relates to the changeset by outlining the three main categories of changes: dependency/plugin version updates, DevTools reference updates, and test stabilization.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch enhancement/update-to-selenium-4.410

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@sonarqubecloud
Copy link
Copy Markdown

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
pom.xml (1)

69-103: ⚠️ Potential issue | 🔴 Critical

Non-existent dependency versions will cause build failures.

The specified versions do not exist on Maven Central Repository:

  • aquality-selenium-core 4.13.0 (0 results)
  • jackson-databind 2.21.2 (0 results)
  • testng 7.12.0 (0 results)

These versions must be corrected to valid versions that exist in Maven Central before the project can build. Verify the correct version numbers for each dependency.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@pom.xml` around lines 69 - 103, The pom declares invalid dependency versions
causing build failures: update the versions for artifacts
aquality-selenium-core, jackson-databind, and testng to published releases
(replace aquality-selenium-core:4.13.0, jackson-databind:2.21.2, testng:7.12.0
with valid versions), confirm the chosen versions exist on Maven Central, and
run mvn -U dependency:resolve to verify; edit the <dependency> entries for
artifactIds aquality-selenium-core, jackson-databind, and testng to the
corrected version strings.
🧹 Nitpick comments (1)
src/test/java/forms/MyLocationForm.java (1)

18-24: Document the nullable contract for getLatitude().

Line 18 now allows null, so callers can accidentally unbox and fail later. Please make the null behavior explicit in method docs (or rename to reflect nullable semantics).

Proposed update
+    /**
+     * Gets latitude from the page.
+     * `@return` latitude value, or null when geolocation is unavailable/blocked.
+     */
     public Double getLatitude() {
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/test/java/forms/MyLocationForm.java` around lines 18 - 24, The
getLatitude() method can return null when the latitude label isn’t displayed,
which risks callers unboxing a null; update its contract by adding a Javadoc
comment that explicitly states the method may return null and callers must
handle that case, and/or annotate the method with a nullable annotation (e.g.,
`@Nullable`) to make the nullable semantics explicit; alternatively, if you prefer
explicit naming, rename getLatitude() to getLatitudeOrNull() and update all
callers accordingly. Ensure references to getLatitude() in tests/clients are
reviewed to handle null safely.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In
`@src/main/java/aquality/selenium/elements/interfaces/IShadowRootExpander.java`:
- Around line 349-350: Swap the order of the two Javadoc `@param` tags so they
match the method signature in IShadowRootExpander: move the `@param` state tag to
appear before the `@param` count tag in the JavaDoc block for the method whose
signature lists state before count (referenced around line 353); ensure the
descriptions remain attached to the correct parameter names so generated API
docs are accurate.

---

Outside diff comments:
In `@pom.xml`:
- Around line 69-103: The pom declares invalid dependency versions causing build
failures: update the versions for artifacts aquality-selenium-core,
jackson-databind, and testng to published releases (replace
aquality-selenium-core:4.13.0, jackson-databind:2.21.2, testng:7.12.0 with valid
versions), confirm the chosen versions exist on Maven Central, and run mvn -U
dependency:resolve to verify; edit the <dependency> entries for artifactIds
aquality-selenium-core, jackson-databind, and testng to the corrected version
strings.

---

Nitpick comments:
In `@src/test/java/forms/MyLocationForm.java`:
- Around line 18-24: The getLatitude() method can return null when the latitude
label isn’t displayed, which risks callers unboxing a null; update its contract
by adding a Javadoc comment that explicitly states the method may return null
and callers must handle that case, and/or annotate the method with a nullable
annotation (e.g., `@Nullable`) to make the nullable semantics explicit;
alternatively, if you prefer explicit naming, rename getLatitude() to
getLatitudeOrNull() and update all callers accordingly. Ensure references to
getLatitude() in tests/clients are reviewed to handle null safely.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 2151ccf1-543d-4625-aabf-e08aa1373e97

📥 Commits

Reviewing files that changed from the base of the PR and between 7202ae7 and f476660.

📒 Files selected for processing (12)
  • pom.xml
  • src/main/java/aquality/selenium/browser/devtools/DevToolsHandling.java
  • src/main/java/aquality/selenium/browser/devtools/EmulationHandling.java
  • src/main/java/aquality/selenium/browser/devtools/JavaScriptHandling.java
  • src/main/java/aquality/selenium/browser/devtools/NetworkHandling.java
  • src/main/java/aquality/selenium/elements/interfaces/IShadowRootExpander.java
  • src/main/java/aquality/selenium/logging/DevToolsCommandLoggingOptions.java
  • src/test/java/forms/MyLocationForm.java
  • src/test/java/tests/usecases/devtools/DeviceEmulationTest.java
  • src/test/java/tests/usecases/devtools/NetworkSpeedEmulationTest.java
  • src/test/java/tests/usecases/devtools/OverrideGeolocationTest.java
  • src/test/java/tests/usecases/devtools/OverrideUserAgentTest.java

@mialeska mialeska merged commit a2cf75c into master Mar 25, 2026
1 check was pending
@github-project-automation github-project-automation bot moved this from In progress to Done in Aquality Selenium Mar 25, 2026
@mialeska mialeska deleted the enhancement/update-to-selenium-4.410 branch March 25, 2026 15:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file enhancement New feature or request java

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant