From 52398eafaf99ebbba7ff5a28b832830be394bf1d Mon Sep 17 00:00:00 2001 From: Yuchen Pei Date: Thu, 7 Apr 2022 12:10:05 +1000 Subject: fixing compliance script. - weblabels should work now --- compliance.js | 55 +++++++++++++++++++++++++++++++------------------------ 1 file changed, 31 insertions(+), 24 deletions(-) diff --git a/compliance.js b/compliance.js index 40041db..74c5510 100644 --- a/compliance.js +++ b/compliance.js @@ -36,31 +36,38 @@ var fs = require('fs'); 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()) + // Uncomment to test using icecat or abrowser + // .setBinary("/usr/bin/icecat") + // .setBinary("/usr/bin/abrowser") + .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(process.argv[2]) - // Wait for the webpage to load - .then(_ => driver.sleep(5000)) - .then(_ => driver.takeScreenshot()) - .then(s => fs.writeFile( - "/tmp/screen.png", Buffer.from(s, 'base64'), "binary", - err => err ? console.log(err) : console.log("Screenshot saved to /tmp/screen.png"))) - .then(_ => driver.executeScript("window.open('');")) - .then(_ => driver.getAllWindowHandles()) - .then(handles => driver.switchTo().window(handles[1])) - .then(_ => driver.get('moz-extension://' - + uuid - + '/html/display_panel/content/display-panel.html#fromTab=1')) - .then(_ => driver.findElement(webdriver.By.css('div#info'))) - .then(e => e.getText()) - .then(console.log)) - .then(_ => driver.quit())); + .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(process.argv[2]) + // Refreshing the page, otherwise weblabels may not work. + .then(_ => driver.get(process.argv[2])) + // Wait, even if the webpage appears loaded, without waiting + // the script may get stuck. + .then(_ => driver.sleep(5000)) + .then(_ => driver.takeScreenshot()) + .then(s => fs.writeFile( + "/tmp/screen.png", Buffer.from(s, 'base64'), "binary", + err => err ? console.log(err) : console.log("Screenshot saved to /tmp/screen.png"))) + .then(_ => driver.executeScript("window.open('');")) + .then(_ => driver.getAllWindowHandles()) + .then(handles => driver.switchTo().window(handles[1])) + .then(_ => driver.get('moz-extension://' + + uuid + + '/html/display_panel/content/display-panel.html#fromTab=1')) + .then(_ => driver.findElement(webdriver.By.css('div#info'))) + .then(e => e.getText()) + .then(console.log) + ) + .then(_ => driver.quit()) + ); })(); -- cgit v1.2.3