@@ -17,7 +17,7 @@ const TOO_SMALL_TIME_FOR_WAITING = MINIMAL_WORKER_TIME - TESTCAFE_CLOSING_TIMEOU
1717const AUTH_FAILED_ERROR = 'Authentication failed. Please assign the correct username and access key ' +
1818 'to the BROWSERSTACK_USERNAME and BROWSERSTACK_ACCESS_KEY environment variables.' ;
1919
20- const PROXY_AUTH_RE = / ^ ( [ ^ : ] * ) : ( .* ) $ / ;
20+ const PROXY_AUTH_RE = / ^ ( [ ^ : ] * ) (?: : ( .* ) ) ? $ / ;
2121
2222const BROWSERSTACK_API_PATHS = {
2323 browserList : {
@@ -57,10 +57,10 @@ function copyOptions (source, destination, transfromFunc = identity) {
5757function getProxyOptions ( proxyConfig ) {
5858 try {
5959 var { hostname, port, auth } = nodeUrl . parse ( 'http://' + proxyConfig ) ;
60- var parsedAuth = auth . match ( PROXY_AUTH_RE ) ;
60+ var parsedAuth = auth && auth . match ( PROXY_AUTH_RE ) ;
6161
6262 return {
63- host : hostname ,
63+ host : hostname === 'undefined' ? null : hostname ,
6464 port : port ,
6565 user : parsedAuth && parsedAuth [ 1 ] ,
6666 pass : parsedAuth && parsedAuth [ 2 ]
@@ -76,10 +76,11 @@ function createBrowserStackConnector (accessKey) {
7676 var connector = new BrowserstackConnector ( ) ;
7777
7878 var opts = {
79- key : accessKey ,
80- logfile : OS . win ? 'NUL' : '/dev/null' ,
81- forceLocal : ! ! process . env [ 'BROWSERSTACK_FORCE_LOCAL' ] ,
82- forceProxy : ! ! process . env [ 'BROWSERSTACK_FORCE_PROXY' ] ,
79+ key : accessKey ,
80+ logfile : OS . win ? 'NUL' : '/dev/null' ,
81+ forceLocal : ! ! process . env [ 'BROWSERSTACK_FORCE_LOCAL' ] ,
82+ forceProxy : ! ! process . env [ 'BROWSERSTACK_FORCE_PROXY' ] ,
83+ localIdentifier : Date . now ( ) ,
8384
8485 //NOTE: additional args use different format
8586 'enable-logging-for-api' : true
@@ -244,12 +245,13 @@ export default {
244245 // Browser control
245246 async openBrowser ( id , pageUrl , browserName ) {
246247 var capabilities = this . _generateCapabilities ( browserName ) ;
248+ var connector = await this . _getConnector ( ) ;
247249
248- capabilities . timeout = TESTS_TIMEOUT ;
249- capabilities . url = pageUrl ;
250- capabilities . name = `TestCafe test run ${ id } ` ;
251-
252- await this . _getConnector ( ) ;
250+ capabilities . timeout = TESTS_TIMEOUT ;
251+ capabilities . url = pageUrl ;
252+ capabilities . name = `TestCafe test run ${ id } ` ;
253+ capabilities . localIdentifier = connector . localIdentifierFlag ;
254+ capabilities [ 'browserstack.local' ] = true ;
253255
254256 this . workers [ id ] = await doRequest ( BROWSERSTACK_API_PATHS . newWorker , capabilities ) ;
255257 this . workers [ id ] . started = Date . now ( ) ;
0 commit comments