aboutsummaryrefslogtreecommitdiffstats
path: root/test/runner/selenium/createDriver.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/runner/selenium/createDriver.js')
-rw-r--r--test/runner/selenium/createDriver.js19
1 files changed, 16 insertions, 3 deletions
diff --git a/test/runner/selenium/createDriver.js b/test/runner/selenium/createDriver.js
index 095c12214..df1204763 100644
--- a/test/runner/selenium/createDriver.js
+++ b/test/runner/selenium/createDriver.js
@@ -2,6 +2,7 @@ import { Builder, Capabilities, logging } from "selenium-webdriver";
import Chrome from "selenium-webdriver/chrome.js";
import Edge from "selenium-webdriver/edge.js";
import Firefox from "selenium-webdriver/firefox.js";
+import IE from "selenium-webdriver/ie.js";
import { browserSupportsHeadless } from "../lib/getBrowserString.js";
// Set script timeout to 10min
@@ -9,9 +10,16 @@ const DRIVER_SCRIPT_TIMEOUT = 1000 * 60 * 10;
export default async function createDriver( { browserName, headless, url, verbose } ) {
const capabilities = Capabilities[ browserName ]();
- const prefs = new logging.Preferences();
- prefs.setLevel( logging.Type.BROWSER, logging.Level.ALL );
- capabilities.setLoggingPrefs( prefs );
+
+ // Support: IE 11+
+ // When those are set for IE, the process crashes with an error:
+ // "Unable to match capability set 0: goog:loggingPrefs is an unknown
+ // extension capability for IE".
+ if ( browserName !== "ie" ) {
+ const prefs = new logging.Preferences();
+ prefs.setLevel( logging.Type.BROWSER, logging.Level.ALL );
+ capabilities.setLoggingPrefs( prefs );
+ }
let driver = new Builder().withCapabilities( capabilities );
@@ -49,6 +57,10 @@ export default async function createDriver( { browserName, headless, url, verbos
edgeOptions.setEdgeChromiumBinaryPath( process.env.EDGE_BIN );
}
+ const ieOptions = new IE.Options();
+ ieOptions.setEdgeChromium( true );
+ ieOptions.setEdgePath( "C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe" );
+
if ( headless ) {
chromeOptions.addArguments( "--headless=new" );
firefoxOptions.addArguments( "--headless" );
@@ -65,6 +77,7 @@ export default async function createDriver( { browserName, headless, url, verbos
.setChromeOptions( chromeOptions )
.setFirefoxOptions( firefoxOptions )
.setEdgeOptions( edgeOptions )
+ .setIeOptions( ieOptions )
.build();
if ( verbose ) {