From aacf54dfb02fb215c8fb33e0b8402a0448148e8b Mon Sep 17 00:00:00 2001 From: John Ferguson Smart Date: Fri, 3 Jan 2025 09:03:30 +0000 Subject: [PATCH] Updated to Selenium 4.27.0 --- pom.xml | 14 +++--- serenity-appium/pom.xml | 5 +- .../core/pages/FluentDropdown.java | 15 ++++++ .../core/pages/WebElementFacade.java | 1 + .../FirefoxDriverProvider.java | 47 ++++++++++--------- serenity-cucumber-smoke-tests/pom.xml | 5 +- serenity-smoketests/pom.xml | 5 +- 7 files changed, 53 insertions(+), 39 deletions(-) diff --git a/pom.xml b/pom.xml index 12a13158da..fcbf87fde6 100644 --- a/pom.xml +++ b/pom.xml @@ -50,7 +50,7 @@ 7.20.1 6.1.1 2.11.0 - 5.11.1 + 5.11.4 3.3.3 3.26.3 1.3.0 @@ -65,8 +65,8 @@ 3.11.1 1.17.1 2.3.33 - 4.26.0 - 4.25.0 + 4.27.0 + 4.27.0 1.5.1 1.15.4 2.13.0 @@ -77,7 +77,7 @@ 4.2.2 9.3.0 0.10.2 - 4.5.0 + 4.7.0 2.0.235 1.2 6.1.14 @@ -101,7 +101,7 @@ io.netty netty-handler - 4.1.114.Final + 4.1.116.Final org.apache.httpcomponents.client5 @@ -476,7 +476,7 @@ maven-compiler-plugin 3.13.0 - + 11 @@ -667,7 +667,7 @@ org.apache.maven.plugins maven-surefire-report-plugin - 3.5.1 + 3.5.2 org.apache.maven.plugins diff --git a/serenity-appium/pom.xml b/serenity-appium/pom.xml index b9c7fd9905..70a7ca4ff3 100644 --- a/serenity-appium/pom.xml +++ b/serenity-appium/pom.xml @@ -83,10 +83,9 @@ org.apache.maven.plugins maven-compiler-plugin - 3.2 + 3.13.0 - 11 - 11 + 11 diff --git a/serenity-core/src/main/java/net/serenitybdd/core/pages/FluentDropdown.java b/serenity-core/src/main/java/net/serenitybdd/core/pages/FluentDropdown.java index b3aea27d27..b04655b224 100644 --- a/serenity-core/src/main/java/net/serenitybdd/core/pages/FluentDropdown.java +++ b/serenity-core/src/main/java/net/serenitybdd/core/pages/FluentDropdown.java @@ -90,4 +90,19 @@ public void deselectByIndex(int index) { public void deselectByVisibleText(String text) { select().deselectByVisibleText(text); } + + @Override + public void deSelectByContainsVisibleText(String text) { + select().deSelectByContainsVisibleText(text); + } + + @Override + public void selectByContainsVisibleText(String text) { + select().selectByContainsVisibleText(text); + } + + public void byContainsVisibleText(String text) { + selectByContainsVisibleText(text); + } + } diff --git a/serenity-core/src/main/java/net/serenitybdd/core/pages/WebElementFacade.java b/serenity-core/src/main/java/net/serenitybdd/core/pages/WebElementFacade.java index bea9748243..abc4d83518 100644 --- a/serenity-core/src/main/java/net/serenitybdd/core/pages/WebElementFacade.java +++ b/serenity-core/src/main/java/net/serenitybdd/core/pages/WebElementFacade.java @@ -38,6 +38,7 @@ public interface WebElementFacade extends WebElement, WrapsElement, WebElementSt T then(By bySelector); + @Deprecated String getAttribute(String name); ListOfWebElementFacades thenFindAll(By... selector); diff --git a/serenity-core/src/main/java/net/serenitybdd/core/webdriver/driverproviders/FirefoxDriverProvider.java b/serenity-core/src/main/java/net/serenitybdd/core/webdriver/driverproviders/FirefoxDriverProvider.java index 69513cf65f..4884397fa4 100644 --- a/serenity-core/src/main/java/net/serenitybdd/core/webdriver/driverproviders/FirefoxDriverProvider.java +++ b/serenity-core/src/main/java/net/serenitybdd/core/webdriver/driverproviders/FirefoxDriverProvider.java @@ -15,6 +15,10 @@ import org.openqa.selenium.firefox.FirefoxOptions; import org.openqa.selenium.firefox.GeckoDriverService; +import java.time.Duration; +import java.util.HashMap; +import java.util.Map; + public class FirefoxDriverProvider extends DownloadableDriverProvider implements DriverProvider { private final DriverCapabilityRecord driverProperties; @@ -28,41 +32,38 @@ public FirefoxDriverProvider(FixtureProviderService fixtureProviderService) { @Override public WebDriver newInstance(String options, EnvironmentVariables environmentVariables) { - // If webdriver calls are suspended no need to create a new driver if (StepEventBus.getParallelEventBus().webdriverCallsAreSuspended()) { return new WebDriverStub(); } - // Download the driver using WebDriverManager if required -// downloadDriverIfRequired("firefox", environmentVariables); - // - // Update the binary path if necessary - // + UpdateDriverEnvironmentProperty.forDriverProperty(GeckoDriverService.GECKO_DRIVER_EXE_PROPERTY); - // - // Load the FirefoxDriver capabilities from the serenity.conf file - // - FirefoxOptions firefoxOptions = W3CCapabilities.definedIn(environmentVariables).withPrefix("webdriver.capabilities").firefoxOptions(); + + FirefoxOptions firefoxOptions = W3CCapabilities.definedIn(environmentVariables) + .withPrefix("webdriver.capabilities") + .firefoxOptions(); + + // Set BiBi Firefox preferences + firefoxOptions.addPreference("remote.active-protocols", 1); + firefoxOptions.addPreference("devtools.chrome.enabled", false); + firefoxOptions.addPreference("devtools.debugger.remote-enabled", true); + + // Configure base capabilities + firefoxOptions.setCapability("webSocketUrl", true); + firefoxOptions.setCapability("moz:debuggerAddress", true); + FirefoxOptionsEnhancer.enhanceOptions(firefoxOptions).using(environmentVariables); - // - // Add any arguments passed from the test itself - // + firefoxOptions.addArguments(argumentsIn(options)); if (ThucydidesSystemProperty.HEADLESS_MODE.booleanFrom(environmentVariables)) { firefoxOptions.addArguments("-headless"); } - // - // Check for extended classes to add extra ChromeOptions configuration - // - final FirefoxOptions enhancedOptions = EnhanceCapabilitiesWithFixtures.using(fixtureProviderService).into(firefoxOptions); - // - // Record browser and platform - // + + final FirefoxOptions enhancedOptions = EnhanceCapabilitiesWithFixtures.using(fixtureProviderService) + .into(firefoxOptions); + TestContext.forTheCurrentTest().recordBrowserConfiguration(enhancedOptions); TestContext.forTheCurrentTest().recordCurrentPlatform(); - // - // Record the driver capabilities for reporting - // driverProperties.registerCapabilities("firefox", capabilitiesToProperties(enhancedOptions)); return new FirefoxDriver(enhancedOptions); diff --git a/serenity-cucumber-smoke-tests/pom.xml b/serenity-cucumber-smoke-tests/pom.xml index f03365b19d..2ef3c37baf 100644 --- a/serenity-cucumber-smoke-tests/pom.xml +++ b/serenity-cucumber-smoke-tests/pom.xml @@ -132,10 +132,9 @@ org.apache.maven.plugins maven-compiler-plugin - 3.8.1 + 3.13.0 - 16 - 16 + 17 diff --git a/serenity-smoketests/pom.xml b/serenity-smoketests/pom.xml index 2a6eb21dd0..55a7760230 100644 --- a/serenity-smoketests/pom.xml +++ b/serenity-smoketests/pom.xml @@ -149,10 +149,9 @@ org.apache.maven.plugins maven-compiler-plugin - 3.11.0 + 3.13.0 - 11 - 11 + 11 -parameters