diff options
author | Yuchen Pei <hi@ypei.me> | 2021-12-08 12:06:35 +1100 |
---|---|---|
committer | Yuchen Pei <hi@ypei.me> | 2021-12-08 12:06:35 +1100 |
commit | 17a7b73d5446ad7e0f1eab4caba3b4b93c447275 (patch) | |
tree | d5fbc4ce9dac6b6b9f1db0011178faadb50c323d /test.js | |
parent | e37a21e4c0bc26f0c7ae9e17cd9ca1abd8b56534 (diff) |
Adding headless test.
Diffstat (limited to 'test.js')
-rw-r--r-- | test.js | 27 |
1 files changed, 27 insertions, 0 deletions
@@ -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())); +})(); |