axemclion / browser-perf

Performance Metrics for Web Browsers
BSD 2-Clause "Simplified" License
936 stars 61 forks source link

Defaulting to older version of chrome in sauce labs #87

Open premkh9 opened 7 years ago

premkh9 commented 7 years ago

Hi,

When I tried to execute below command using my sauce credentials, by defaulted its routed to windows xp system and chrome version 49

Windows XP Chrome 49

https://saucelabs.com/beta/tests/f0b43f7f8b8f4486a5daf6c8fff343d0/commands#19

browser-perf http://yourwebsite.com --browsers=chrome --selenium=ondemand.saucelabs.com --username=username --accesskey=accesskey

Attached saucelabs log details

Can you configure it in such a way that, it will be routed to latest version

log.txt

axemclion commented 7 years ago

Can I request you to set export DEBUG=* and print the logs also ? Looks like when version of Chrome is not set, it seems to pick up the older version. I do not see having specified 49 in the code, except in the tests.

If you have a PR fixing it, would love to take that in.

premkh9 commented 7 years ago

When I tried to set to chrome version and execute, i am seeing below error message

browser-perf https://www.choicehotels.com --browsers=C:\Users\pkashipa\Desktop\browser.json --selenium=ondemand.saucelabs.com --username=*** --accesskey=****

It would be good, if you can suggest me how to pass version and platform details in command line as json config is not working.

Json file contains below

{ "browsers": [{ "browserName": "chrome", "platform": "Windows 7", "version": "latest" }] }

Error logs: C:\Users\pkashipa\AppData\Roaming\npm\node_modules\browser-perf\node_modules\q\q .js:155 throw e; ^

TypeError: namespace.charCodeAt is not a function at selectColor (C:\Users\pkashipa\AppData\Roaming\npm\node_modules\browser-p erf\node_modules\debug\src\debug.js:48:46) at createDebug (C:\Users\pkashipa\AppData\Roaming\npm\node_modules\browser-p erf\node_modules\debug\src\debug.js:120:17) at require.browsers (C:\Users\pkashipa\AppData\Roaming\npm\node_modules\brow ser-perf\lib\cli.js:37:3) at C:\Users\pkashipa\AppData\Roaming\npm\node_modules\browser-perf\lib\index .js:31:3 at _fulfilled (C:\Users\pkashipa\AppData\Roaming\npm\node_modules\browser-pe rf\node_modules\q\q.js:834:54) at self.promiseDispatch.done (C:\Users\pkashipa\AppData\Roaming\npm\node_mod ules\browser-perf\node_modules\q\q.js:863:30) at Promise.promise.promiseDispatch (C:\Users\pkashipa\AppData\Roaming\npm\no de_modules\browser-perf\node_modules\q\q.js:796:13) at C:\Users\pkashipa\AppData\Roaming\npm\node_modules\browser-perf\node_modu les\q\q.js:604:44 at runSingle (C:\Users\pkashipa\AppData\Roaming\npm\node_modules\browser-per f\node_modules\q\q.js:137:13) at flush (C:\Users\pkashipa\AppData\Roaming\npm\node_modules\browser-perf\no de_modules\q\q.js:125:13)


I tried to modify in your code but even I am not able to find where to modify the sauce configuration. I did observe below in options.js file.

// browsers function(opts) { var browserConfig = {}; // Defaults for browsers to be added here

    var passedBrowsers = opts.browsers || opts.browser;
    if (typeof passedBrowsers === 'undefined') {
        passedBrowsers = [{
            browserName: 'chrome',
            version: 35
        }];
    } else if (typeof passedBrowsers === 'string') {
        passedBrowsers = passedBrowsers.split(/[,;]/);
    }