From 17a7b73d5446ad7e0f1eab4caba3b4b93c447275 Mon Sep 17 00:00:00 2001 From: Yuchen Pei Date: Wed, 8 Dec 2021 12:06:35 +1100 Subject: Adding headless test. --- test.js | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 test.js (limited to 'test.js') diff --git a/test.js b/test.js new file mode 100644 index 0000000..9735176 --- /dev/null +++ b/test.js @@ -0,0 +1,27 @@ +/* A node script that runs tests in a headless browser. */ + +(function libreJSTest() { + const webdriver = require('selenium-webdriver'); + const firefox = require('selenium-webdriver/firefox'); + new webdriver.Builder().forBrowser('firefox') + .setFirefoxOptions(new firefox.Options() + // Uncomment this line to test using icecat +// .setBinary("/usr/bin/icecat") + .headless()).build() + .then(driver => + driver.installAddon("./librejs.xpi", /*isTemporary=*/true) + .then(driver.get("about:debugging#/runtime/this-firefox")) + .then(_ => driver.findElements(webdriver.By.css('.fieldpair dd'))) + .then(es => es[2].getText()) + .then(uuid => + driver.get('moz-extension://' + + uuid + '/test/SpecRunner.html' + + (process.argv[2] ? '?seed=' + process.argv[2] : '') )) + .then(_ => driver.wait(_ => + driver.findElement(webdriver.By.css('.jasmine-alert')) + .then(e => e.getText()), 10000)) + .then(_ => driver.findElement(webdriver.By.css('.jasmine-alert'))) + .then(e => e.getText()) + .then(console.log) + .then(_ => driver.quit())); +})(); -- cgit v1.2.3