diff --git a/pom.xml b/pom.xml
index 3f2be8c38..1356aabd7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -62,7 +62,7 @@
3.9.0
1.16.0
2.3.32
- 4.12.1
+ 4.13.0
4.10.0
1.5.1
1.15.4
diff --git a/serenity-core/src/main/java/net/serenitybdd/core/webdriver/FirefoxOptionsEnhancer.java b/serenity-core/src/main/java/net/serenitybdd/core/webdriver/FirefoxOptionsEnhancer.java
index 84714047b..e8bd7f2b6 100644
--- a/serenity-core/src/main/java/net/serenitybdd/core/webdriver/FirefoxOptionsEnhancer.java
+++ b/serenity-core/src/main/java/net/serenitybdd/core/webdriver/FirefoxOptionsEnhancer.java
@@ -20,7 +20,6 @@ public static FirefoxOptionsEnhancer enhanceOptions(FirefoxOptions options) {
}
public void using(EnvironmentVariables environmentVariables) {
- options.setHeadless(HEADLESS_MODE.booleanFrom(environmentVariables,false));
options.setAcceptInsecureCerts(InsecureCertConfig.acceptInsecureCertsDefinedIn(environmentVariables).orElse(false));
FirefoxDriverLogLevel logLevel = FirefoxDriverLogLevel.fromString(FIREFOX_LOG_LEVEL.from(environmentVariables,"ERROR"));
options.setLogLevel(logLevel);
diff --git a/serenity-core/src/main/java/net/serenitybdd/core/webdriver/driverproviders/FirefoxDriverCapabilities.java b/serenity-core/src/main/java/net/serenitybdd/core/webdriver/driverproviders/FirefoxDriverCapabilities.java
index e68163c16..83173e8ed 100644
--- a/serenity-core/src/main/java/net/serenitybdd/core/webdriver/driverproviders/FirefoxDriverCapabilities.java
+++ b/serenity-core/src/main/java/net/serenitybdd/core/webdriver/driverproviders/FirefoxDriverCapabilities.java
@@ -95,13 +95,6 @@ public FirefoxOptions getOptions() {
firefoxOptions.addArguments(argValues);
registeredArguments.addAll(argValues);
- //
- // Special case for the headless mode
- //
- if(registeredArguments.contains("headless")) {
- firefoxOptions.setHeadless(true);
- }
-
firefoxCapabilities.forEach(
(key, value) -> {
if (!key.startsWith("preferences.")) {
diff --git a/serenity-core/src/main/java/net/serenitybdd/core/webdriver/servicepools/ChromeServicePool.java b/serenity-core/src/main/java/net/serenitybdd/core/webdriver/servicepools/ChromeServicePool.java
index 180943ede..bfaf8e076 100644
--- a/serenity-core/src/main/java/net/serenitybdd/core/webdriver/servicepools/ChromeServicePool.java
+++ b/serenity-core/src/main/java/net/serenitybdd/core/webdriver/servicepools/ChromeServicePool.java
@@ -43,7 +43,7 @@ protected ChromeDriverService newDriverService() {
.withVerbose(verbose);
if (!whitelist.isEmpty()) {
- builder.withWhitelistedIps(whitelist);
+ builder.withAllowedListIps(whitelist);
}
if (!logLevel.isEmpty()) {
builder.withLogLevel(ChromiumDriverLogLevel.fromString(logLevel));
diff --git a/serenity-core/src/main/java/net/serenitybdd/core/webdriver/servicepools/DisabledGeckoDriverService.java b/serenity-core/src/main/java/net/serenitybdd/core/webdriver/servicepools/DisabledGeckoDriverService.java
index ba575f6ac..fb8566eb5 100644
--- a/serenity-core/src/main/java/net/serenitybdd/core/webdriver/servicepools/DisabledGeckoDriverService.java
+++ b/serenity-core/src/main/java/net/serenitybdd/core/webdriver/servicepools/DisabledGeckoDriverService.java
@@ -3,11 +3,14 @@
import java.io.File;
import java.io.IOException;
import java.net.URL;
+import java.time.Duration;
+import java.util.ArrayList;
+import java.util.HashMap;
public class DisabledGeckoDriverService extends org.openqa.selenium.firefox.GeckoDriverService {
public DisabledGeckoDriverService() throws IOException {
- super(new File(""), 0, null, null);
+ super(new File(""), 0, Duration.ofMillis(0), new ArrayList<>(), new HashMap<>());
}
public static DisabledGeckoDriverService build() {
diff --git a/serenity-core/src/main/java/net/serenitybdd/core/webdriver/servicepools/ThreadsafeGeckoDriverService.java b/serenity-core/src/main/java/net/serenitybdd/core/webdriver/servicepools/ThreadsafeGeckoDriverService.java
index 8b26a0e38..e5832b817 100644
--- a/serenity-core/src/main/java/net/serenitybdd/core/webdriver/servicepools/ThreadsafeGeckoDriverService.java
+++ b/serenity-core/src/main/java/net/serenitybdd/core/webdriver/servicepools/ThreadsafeGeckoDriverService.java
@@ -6,6 +6,9 @@
import java.io.File;
import java.io.IOException;
import java.net.URL;
+import java.time.Duration;
+import java.util.ArrayList;
+import java.util.HashMap;
import java.util.Optional;
/**
@@ -19,7 +22,7 @@ public class ThreadsafeGeckoDriverService extends GeckoDriverService {
private final EnvironmentVariables environmentVariables;
public ThreadsafeGeckoDriverService(EnvironmentVariables environmentVariables) throws IOException {
- super(new File(""), 0, null, null);
+ super(new File(""), 0, Duration.ofMillis(0), new ArrayList<>(), new HashMap<>());
this.environmentVariables = environmentVariables;
}
diff --git a/serenity-core/src/main/java/net/thucydides/core/webdriver/capabilities/ChromiumOptionsBuilder.java b/serenity-core/src/main/java/net/thucydides/core/webdriver/capabilities/ChromiumOptionsBuilder.java
index 39edcbbf3..0c4ae98d0 100644
--- a/serenity-core/src/main/java/net/thucydides/core/webdriver/capabilities/ChromiumOptionsBuilder.java
+++ b/serenity-core/src/main/java/net/thucydides/core/webdriver/capabilities/ChromiumOptionsBuilder.java
@@ -48,9 +48,6 @@ public static ChromiumOptions> fromDesiredCapabilities(DesiredCapabilities cap
if (!args.isEmpty()) {
chromiumOptions.addArguments(args);
}
- if (args.contains("headless") || args.contains("--headless")) {
- chromiumOptions.setHeadless(true);
- }
break;
// Extensions
case "extensions":
diff --git a/serenity-core/src/main/java/net/thucydides/core/webdriver/capabilities/FirefoxOptionsBuilder.java b/serenity-core/src/main/java/net/thucydides/core/webdriver/capabilities/FirefoxOptionsBuilder.java
index 11b69a66c..2aa2daf3d 100644
--- a/serenity-core/src/main/java/net/thucydides/core/webdriver/capabilities/FirefoxOptionsBuilder.java
+++ b/serenity-core/src/main/java/net/thucydides/core/webdriver/capabilities/FirefoxOptionsBuilder.java
@@ -42,9 +42,6 @@ public static FirefoxOptions fromDesiredCapabilities(DesiredCapabilities capabil
if (options.get("args") instanceof List) {
List args = ListOfValues.from(options).forProperty("args");
firefoxOptions.getBinary().addCommandLineOptions(args.toArray(new String[]{}));
- if (args.contains("headless") || args.contains("-headless")) {
- firefoxOptions.setHeadless(true);
- }
}
break;
diff --git a/serenity-core/src/test/java/net/serenitybdd/core/webdriver/integration/SampleExtension.java b/serenity-core/src/test/java/net/serenitybdd/core/webdriver/integration/SampleExtension.java
deleted file mode 100644
index 6362b2e72..000000000
--- a/serenity-core/src/test/java/net/serenitybdd/core/webdriver/integration/SampleExtension.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package net.serenitybdd.core.webdriver.integration;
-
-import net.serenitybdd.core.webdriver.enhancers.CustomChromiumOptions;
-import net.thucydides.model.util.EnvironmentVariables;
-import org.openqa.selenium.chromium.ChromiumOptions;
-
-public class SampleExtension implements CustomChromiumOptions {
- @Override
- public void apply(EnvironmentVariables environmentVariables, ChromiumOptions> options) {
- options.setHeadless(true);
- }
-}
diff --git a/serenity-core/src/test/java/net/serenitybdd/core/webdriver/integration/WhenBrowsingAWebSiteUsingListfulPageObjects.java b/serenity-core/src/test/java/net/serenitybdd/core/webdriver/integration/WhenBrowsingAWebSiteUsingListfulPageObjects.java
index a1b1571ab..5a58bb95f 100644
--- a/serenity-core/src/test/java/net/serenitybdd/core/webdriver/integration/WhenBrowsingAWebSiteUsingListfulPageObjects.java
+++ b/serenity-core/src/test/java/net/serenitybdd/core/webdriver/integration/WhenBrowsingAWebSiteUsingListfulPageObjects.java
@@ -122,7 +122,7 @@ public String getCsvContent() {
@Before
public void openLocalStaticSite() {
ChromeOptions options = new ChromeOptions();
- options.setHeadless(true);
+ options.addArguments("--headless");
driver = new ChromeDriver(options);
openStaticTestSite();
diff --git a/serenity-core/src/test/java/net/thucydides/core/pages/integration/CheckingFieldContentWithTheFluentElementAPI.java b/serenity-core/src/test/java/net/thucydides/core/pages/integration/CheckingFieldContentWithTheFluentElementAPI.java
index cca12a40d..d960276aa 100644
--- a/serenity-core/src/test/java/net/thucydides/core/pages/integration/CheckingFieldContentWithTheFluentElementAPI.java
+++ b/serenity-core/src/test/java/net/thucydides/core/pages/integration/CheckingFieldContentWithTheFluentElementAPI.java
@@ -26,7 +26,7 @@ public class CheckingFieldContentWithTheFluentElementAPI {
@BeforeClass
public static void openStaticPage() {
ChromeOptions options = new ChromeOptions();
- options.setHeadless(true);
+ options.addArguments("--headless");
localDriver = new ChromeDriver(options);
page = new StaticSitePage(localDriver);
page.open();
diff --git a/serenity-core/src/test/java/net/thucydides/core/pages/integration/CheckingShadowDomContentWithTheFluentElementAPI.java b/serenity-core/src/test/java/net/thucydides/core/pages/integration/CheckingShadowDomContentWithTheFluentElementAPI.java
index ac94aa6d3..a0b6afc41 100644
--- a/serenity-core/src/test/java/net/thucydides/core/pages/integration/CheckingShadowDomContentWithTheFluentElementAPI.java
+++ b/serenity-core/src/test/java/net/thucydides/core/pages/integration/CheckingShadowDomContentWithTheFluentElementAPI.java
@@ -24,7 +24,7 @@ public class CheckingShadowDomContentWithTheFluentElementAPI {
@BeforeClass
public static void openStaticPage() {
ChromeOptions options = new ChromeOptions();
- options.setHeadless(true);
+ options.addArguments("--headless");
localDriver = new ChromeDriver(options);
page = new ShadowDomSitePage(localDriver);
page.open();
diff --git a/serenity-model/src/main/java/net/thucydides/model/ThucydidesSystemProperty.java b/serenity-model/src/main/java/net/thucydides/model/ThucydidesSystemProperty.java
index e9ab02ed0..6d02261a3 100644
--- a/serenity-model/src/main/java/net/thucydides/model/ThucydidesSystemProperty.java
+++ b/serenity-model/src/main/java/net/thucydides/model/ThucydidesSystemProperty.java
@@ -1141,7 +1141,7 @@ public enum ThucydidesSystemProperty {
DELETE_HISTORY_DIRECTORY,
/**
- * Generate a CSV report for each test result (true by default)
+ * Generate a CSV report for each test result (false by default)
*/
SERENITY_GENERATE_CSV_REPORTS,
diff --git a/serenity-screenplay-webdriver/src/test/java/net/serenitybdd/screenplay/webtests/integration/actions/DevToolsTest.java b/serenity-screenplay-webdriver/src/test/java/net/serenitybdd/screenplay/webtests/integration/actions/DevToolsTest.java
index c41476203..98675084a 100644
--- a/serenity-screenplay-webdriver/src/test/java/net/serenitybdd/screenplay/webtests/integration/actions/DevToolsTest.java
+++ b/serenity-screenplay-webdriver/src/test/java/net/serenitybdd/screenplay/webtests/integration/actions/DevToolsTest.java
@@ -6,8 +6,8 @@
import net.serenitybdd.screenplay.webtests.integration.ScreenplayInteractionTestBase;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.openqa.selenium.devtools.v114.performance.Performance;
-import org.openqa.selenium.devtools.v114.performance.model.Metric;
+import org.openqa.selenium.devtools.v117.performance.Performance;
+import org.openqa.selenium.devtools.v117.performance.model.Metric;
import java.util.ArrayList;
import java.util.List;