Merge pull request #9 from matrix-org/bwindels/commander

Add --riot-url option to run test against local dev server
pull/21833/head
David Baker 2018-08-17 11:42:03 +01:00 committed by GitHub
commit 1e0baa823d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 9 deletions

View File

@ -9,6 +9,7 @@
"author": "", "author": "",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"commander": "^2.17.1",
"puppeteer": "^1.6.0" "puppeteer": "^1.6.0"
} }
} }

View File

@ -18,18 +18,20 @@ const assert = require('assert');
const RiotSession = require('./src/session'); const RiotSession = require('./src/session');
const scenario = require('./src/scenario'); const scenario = require('./src/scenario');
const riotserver = 'http://localhost:5000'; const program = require('commander');
program
const noLogs = process.argv.indexOf("--no-logs") !== -1; .option('--no-logs', "don't output logs, document html on error", false)
const debug = process.argv.indexOf("--debug") !== -1; .option('--debug', "open browser window and slow down interactions", false)
.option('--riot-url [url]', "riot url to test", "http://localhost:5000")
.parse(process.argv);
async function runTests() { async function runTests() {
let sessions = []; let sessions = [];
console.log("running tests ..."); console.log("running tests ...");
const options = {}; const options = {};
if (debug) { if (program.debug) {
options.slowMo = 20; options.slowMo = 20;
options.devtools = true;
options.headless = false; options.headless = false;
} }
if (process.env.CHROME_PATH) { if (process.env.CHROME_PATH) {
@ -39,7 +41,7 @@ async function runTests() {
} }
async function createSession(username) { async function createSession(username) {
const session = await RiotSession.create(username, options, riotserver); const session = await RiotSession.create(username, options, program.riotUrl);
sessions.push(session); sessions.push(session);
return session; return session;
} }
@ -50,7 +52,7 @@ async function runTests() {
} catch(err) { } catch(err) {
failure = true; failure = true;
console.log('failure: ', err); console.log('failure: ', err);
if (!noLogs) { if (!program.noLogs) {
for(let i = 0; i < sessions.length; ++i) { for(let i = 0; i < sessions.length; ++i) {
const session = sessions[i]; const session = sessions[i];
documentHtml = await session.page.content(); documentHtml = await session.page.content();
@ -84,4 +86,4 @@ async function runTests() {
runTests().catch(function(err) { runTests().catch(function(err) {
console.log(err); console.log(err);
process.exit(-1); process.exit(-1);
}); });