diff --git a/.agents/skills/java-engineering-excellence/SKILL.md b/.agents/skills/java-engineering-excellence/SKILL.md index 677cfe0bf..a37d10ee2 100644 --- a/.agents/skills/java-engineering-excellence/SKILL.md +++ b/.agents/skills/java-engineering-excellence/SKILL.md @@ -88,7 +88,7 @@ ts-java-spring-boot-realworld/ | `io.rest-assured:spring-mock-mvc` (test) | 4.5.1 | 5.4.x | | `com.diffplug.spotless` | 6.2.1 | 6.25.x | | `org.flywaydb:flyway-core` | (managed) | 10.x (Boot 3.5 managed) | -| Selenium (test) | 4.15.0 | 4.20.x | +| Selenium (test) | 4.46.0 (`ext['selenium.version']` overrides the Boot BOM's 3.141.59) | 4.46.x | ## General Approach: Java 11 → 21 / Spring Boot 2.x → 3.x Upgrades diff --git a/build.gradle b/build.gradle index 03c56f755..e087cd2ec 100644 --- a/build.gradle +++ b/build.gradle @@ -55,6 +55,10 @@ configurations { } } +// The Spring Boot 2.6.3 BOM manages org.seleniumhq.selenium at 3.141.59, which would drag +// selenium-java's own modules back to 3.x and split the classpath. +ext['selenium.version'] = '4.46.0' + dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-validation' @@ -82,7 +86,7 @@ dependencies { testImplementation 'org.mockito:mockito-inline:4.0.0' // Selenium E2E testing - testImplementation 'org.seleniumhq.selenium:selenium-java:4.15.0' + testImplementation 'org.seleniumhq.selenium:selenium-java:4.46.0' testImplementation 'io.github.bonigarcia:webdrivermanager:5.6.2' testImplementation 'org.testng:testng:7.8.0' testImplementation 'com.aventstack:extentreports:5.1.1' diff --git a/src/test/java/io/spring/selenium/pages/BasePage.java b/src/test/java/io/spring/selenium/pages/BasePage.java index 425f696ef..208313e40 100644 --- a/src/test/java/io/spring/selenium/pages/BasePage.java +++ b/src/test/java/io/spring/selenium/pages/BasePage.java @@ -1,5 +1,6 @@ package io.spring.selenium.pages; +import java.time.Duration; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.support.PageFactory; @@ -11,11 +12,11 @@ public abstract class BasePage { protected WebDriver driver; protected WebDriverWait wait; - protected static final long DEFAULT_TIMEOUT_SECONDS = 10; + protected static final Duration DEFAULT_TIMEOUT = Duration.ofSeconds(10); public BasePage(WebDriver driver) { this.driver = driver; - this.wait = new WebDriverWait(driver, DEFAULT_TIMEOUT_SECONDS); + this.wait = new WebDriverWait(driver, DEFAULT_TIMEOUT); PageFactory.initElements(driver, this); }