|
25 | 25 | // THE POSSIBILITY OF SUCH DAMAGE. |
26 | 26 |
|
27 | 27 | import serve from "./server.mjs"; |
28 | | -import { Builder, Capabilities, logging, firefox, chrome } from "selenium-webdriver"; |
| 28 | +import { Builder, Capabilities } from "selenium-webdriver"; |
| 29 | +import chrome from "selenium-webdriver/chrome.js"; |
| 30 | +import firefox from "selenium-webdriver/firefox.js"; |
29 | 31 | import commandLineArgs from "command-line-args"; |
30 | 32 | import { promises as fs } from "fs"; |
31 | 33 | import path from "path"; |
@@ -98,24 +100,27 @@ if (!BROWSER) |
98 | 100 | printHelp("No browser specified, use $BROWSER or --browser", optionDefinitions); |
99 | 101 |
|
100 | 102 | let capabilities; |
| 103 | +let browserOptions; |
101 | 104 | switch (BROWSER) { |
102 | 105 | case "safari": |
103 | 106 | capabilities = Capabilities.safari(); |
104 | 107 | capabilities.set("safari:diagnose", true); |
105 | 108 | break; |
106 | 109 |
|
107 | 110 | case "firefox": { |
108 | | - const options = new firefox.Options(); |
109 | | - if (IS_HEADLESS) |
| 111 | + capabilities = Capabilities.firefox() |
| 112 | + if (IS_HEADLESS) { |
| 113 | + browserOptions = new firefox.Options(); |
110 | 114 | options.addArguments("-headless"); |
111 | | - capabilities = Capabilities.firefox().set("moz:firefoxOptions", options); |
| 115 | + } |
112 | 116 | break; |
113 | 117 | } |
114 | 118 | case "chrome": { |
115 | | - const options = new chrome.Options(); |
116 | | - if (IS_HEADLESS) |
117 | | - options.addArguments("--headless"); |
118 | | - capabilities = Capabilities.chrome().set("goog:chromeOptions", options); |
| 119 | + capabilities = Capabilities.chrome() |
| 120 | + if (IS_HEADLESS) { |
| 121 | + options = new chrome.Options(); |
| 122 | + options = options.headless(); |
| 123 | + } |
119 | 124 | break; |
120 | 125 | } |
121 | 126 | case "edge": { |
@@ -166,7 +171,20 @@ async function runEnd2EndTest(name, params) { |
166 | 171 | } |
167 | 172 |
|
168 | 173 | async function testEnd2End(params) { |
169 | | - const driver = await new Builder().withCapabilities(capabilities).build(); |
| 174 | + const builder = new Builder().withCapabilities(capabilities); |
| 175 | + if (browserOptions) { |
| 176 | + switch(BROWSER) { |
| 177 | + case "firefox": |
| 178 | + builder.setFirefoxOptions(browserOptions); |
| 179 | + break; |
| 180 | + case "chrome": |
| 181 | + builder.setChromeOptions(browserOptions); |
| 182 | + break; |
| 183 | + default: |
| 184 | + break; |
| 185 | + } |
| 186 | + } |
| 187 | + const driver = await builder.build(); |
170 | 188 | const sessionId = (await driver.getSession()).getId(); |
171 | 189 | const driverCapabilities = await driver.getCapabilities(); |
172 | 190 | logInfo(`Browser: ${driverCapabilities.getBrowserName()} ${driverCapabilities.getBrowserVersion()}`); |
|
0 commit comments