Skip to content

Commit 180deb7

Browse files
committed
headlessly
1 parent e02a456 commit 180deb7

1 file changed

Lines changed: 10 additions & 3 deletions

File tree

tests/run-browser.mjs

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
// THE POSSIBILITY OF SUCH DAMAGE.
2626

2727
import serve from "./server.mjs";
28-
import { Builder, Capabilities, logging } from "selenium-webdriver";
28+
import { Builder, Capabilities, logging, firefox, chrome } from "selenium-webdriver";
2929
import commandLineArgs from "command-line-args";
3030
import { promises as fs } from "fs";
3131
import path from "path";
@@ -93,6 +93,7 @@ if (options.suite && !VALID_TAGS.includes(options.suite))
9393
printHelp(`Invalid suite: ${options.suite}. Choices are: ${VALID_TAGS.join(", ")}`);
9494

9595
const BROWSER = options?.browser;
96+
const IS_HEADLESS = os.platform() === "linux" && !process.env.DISPLAY;
9697
if (!BROWSER)
9798
printHelp("No browser specified, use $BROWSER or --browser", optionDefinitions);
9899

@@ -104,11 +105,17 @@ switch (BROWSER) {
104105
break;
105106

106107
case "firefox": {
107-
capabilities = Capabilities.firefox();
108+
const options = new firefox.Options();
109+
if (IS_HEADLESS)
110+
options.addArguments("-headless");
111+
capabilities = Capabilities.firefox().set("moz:firefoxOptions", options);
108112
break;
109113
}
110114
case "chrome": {
111-
capabilities = Capabilities.chrome();
115+
const options = new chrome.Options();
116+
if (IS_HEADLESS)
117+
options.addArguments("--headless");
118+
capabilities = Capabilities.chrome().set("goog:chromeOptions", options);
112119
break;
113120
}
114121
case "edge": {

0 commit comments

Comments
 (0)