nl_tokens: browsers
pl_tokens: function ( opts ) { var browserConfig = { } ; // Defaults for browsers to be added here var passedBrowsers = opts . browsers || opts . browser ; if ( typeof passedBrowsers === 'undefined' ) { passedBrowsers = [ { browserName : 'chrome' , <mask> : 35 } ] ; } else if ( typeof passedBrowsers === 'string' ) { passedBrowsers = passedBrowsers . split ( / [,;] / ) ; } var result = [ ] ; passedBrowsers . forEach ( function ( passedBrowser ) { passedBrowser = ( typeof passedBrowser === 'string' ? { 'browserName' : passedBrowser } : passedBrowser ) ; if ( typeof browserConfig [ passedBrowser . browserName ] !== 'undefined' ) { var matchingBrowserCfg = browserConfig [ passedBrowser . browserName ] || browserConfig [ passedBrowser . browserName ] for ( var key in matchingBrowserCfg ) { if ( typeof passedBrowser [ key ] === 'undefined' ) { passedBrowser [ key ] = matchingBrowserCfg [ key ] ; } } } // Add activity name for android browsers if ( passedBrowser . browserName && passedBrowser . browserName . match ( / android / gi ) ) { passedBrowser . chromeOptions = passedBrowser . chromeOptions || { } ; if ( typeof passedBrowser . chromeOptions . androidPackage === 'undefined' ) { passedBrowser . chromeOptions . androidPackage = 'com.android.chrome' ; } } // Setting platform if it does not exist if ( typeof passedBrowser . platform === 'undefined' || typeof passedBrowser . platformName === 'undefined' ) { if ( opts . selenium . hostname . match ( / ondemand.saucelabs.com / ) || opts . selenium . hostname . match ( / hub.browserstack.com / ) ) { passedBrowser . platform = 'WINDOWS' ; } } result . push ( passedBrowser ) ; } ) ; opts . browsers = result ; return opts ; }