var WebSocket = require('..').Client, deflate = require('permessage-deflate'), pace = require('pace'); var host = 'ws://localhost:9001', agent = encodeURIComponent('node-' + process.version), cases = 0, options = {extensions: [deflate]}; var socket = new WebSocket(host + '/getCaseCount'), url, progress; socket.onmessage = function(event) { console.log('Total cases to run: ' + event.data); cases = parseInt(event.data); progress = pace(cases); }; var runCase = function(n) { if (n > cases) { url = host + '/updateReports?agent=' + agent; socket = new WebSocket(url); socket.onclose = process.exit; return; } url = host + '/runCase?case=' + n + '&agent=' + agent; socket = new WebSocket(url, [], options); socket.pipe(socket); socket.on('close', function() { progress.op(); runCase(n + 1); }); }; socket.onclose = function() { runCase(1); };