diff options
Diffstat (limited to 'test/runner/selenium/createDriver.js')
-rw-r--r-- | test/runner/selenium/createDriver.js | 19 |
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 ) { |