aboutsummaryrefslogtreecommitdiff
path: root/test.js
diff options
context:
space:
mode:
authorYuchen Pei <hi@ypei.me>2021-12-08 12:06:35 +1100
committerYuchen Pei <hi@ypei.me>2021-12-08 12:06:35 +1100
commit17a7b73d5446ad7e0f1eab4caba3b4b93c447275 (patch)
treed5fbc4ce9dac6b6b9f1db0011178faadb50c323d /test.js
parente37a21e4c0bc26f0c7ae9e17cd9ca1abd8b56534 (diff)
Adding headless test.
Diffstat (limited to 'test.js')
-rw-r--r--test.js27
1 files changed, 27 insertions, 0 deletions
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()));
+})();