diff --git a/package.json b/package.json index b5892a154a..8035fbb508 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "author": "", "license": "ISC", "dependencies": { + "commander": "^2.17.1", "puppeteer": "^1.6.0" } } diff --git a/start.js b/start.js index 229a9ab535..ac9a2f8684 100644 --- a/start.js +++ b/start.js @@ -18,18 +18,20 @@ const assert = require('assert'); const RiotSession = require('./src/session'); const scenario = require('./src/scenario'); -const riotserver = 'http://localhost:5000'; - -const noLogs = process.argv.indexOf("--no-logs") !== -1; -const debug = process.argv.indexOf("--debug") !== -1; +const program = require('commander'); +program + .option('--no-logs', "don't output logs, document html on error", false) + .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() { let sessions = []; - console.log("running tests ..."); const options = {}; - if (debug) { + if (program.debug) { options.slowMo = 20; + options.devtools = true; options.headless = false; } if (process.env.CHROME_PATH) { @@ -39,7 +41,7 @@ async function runTests() { } async function createSession(username) { - const session = await RiotSession.create(username, options, riotserver); + const session = await RiotSession.create(username, options, program.riotUrl); sessions.push(session); return session; } @@ -50,7 +52,7 @@ async function runTests() { } catch(err) { failure = true; console.log('failure: ', err); - if (!noLogs) { + if (!program.noLogs) { for(let i = 0; i < sessions.length; ++i) { const session = sessions[i]; documentHtml = await session.page.content(); @@ -84,4 +86,4 @@ async function runTests() { runTests().catch(function(err) { console.log(err); process.exit(-1); -}); \ No newline at end of file +});