diff --git a/lib/fullTest.js b/lib/fullTest.js index d465f8d..52cf636 100644 --- a/lib/fullTest.js +++ b/lib/fullTest.js @@ -29,32 +29,37 @@ var capabilities = { 'build': 'Selenium Utilities - Speed test ' + (process.env['REGION'] || '') }; -// TODO: handle rejection of a promise +var flow = webdriver.promise.controlFlow(); + function newTest(driverUrl) { capabilities['name'] = driverUrl; var defer = q.defer(); - var driver = new webdriver.Builder(). - usingServer(driverUrl + '/wd/hub'). - withCapabilities(capabilities). - build(); + flow.execute(function() { + var driver = new webdriver.Builder(). + usingServer(driverUrl + '/wd/hub'). + withCapabilities(capabilities). + build(); - driver.get('https://www.google.com/ncr'); - var element = driver.findElement(webdriver.By.name('q')); - var timeNow = new Date(); - element.then(function() { - timeNow = new Date(); - }); + driver.get('https://www.google.com/ncr'); + var element = driver.findElement(webdriver.By.name('q')); + var timeNow = new Date(); + element.then(function() { + timeNow = new Date(); + }); - var selPromises = underscore.times(keyCount, () => { return q(element.sendKeys('a')); }); - q.allSettled(selPromises).then(function() { - var timeTaken = new Date() - timeNow; - console.log("Time taken by", driverUrl, "-", timeTaken, 'ms'); - results[driverUrl] = timeTaken; - driver.quit().then(defer.resolve, defer.resolve); + var selPromises = underscore.times(keyCount, () => { return q(element.sendKeys('a')); }); + q.allSettled(selPromises).then(function() { + var timeTaken = new Date() - timeNow; + console.log("Time taken by", driverUrl, "-", timeTaken, 'ms'); + results[driverUrl] = timeTaken; + driver.quit().then(defer.resolve, defer.resolve); + }); + }).catch(function(e) { + console.log("--> Couldn't complete this - ", e.message); + defer.resolve(); }); - return defer.promise; }