@@ -17,7 +17,7 @@ const TOO_SMALL_TIME_FOR_WAITING = MINIMAL_WORKER_TIME - TESTCAFE_CLOSING_TIMEOU
17
17
const AUTH_FAILED_ERROR = 'Authentication failed. Please assign the correct username and access key ' +
18
18
'to the BROWSERSTACK_USERNAME and BROWSERSTACK_ACCESS_KEY environment variables.' ;
19
19
20
- const PROXY_AUTH_RE = / ^ ( [ ^ : ] * ) : ( .* ) $ / ;
20
+ const PROXY_AUTH_RE = / ^ ( [ ^ : ] * ) (?: : ( .* ) ) ? $ / ;
21
21
22
22
const BROWSERSTACK_API_PATHS = {
23
23
browserList : {
@@ -57,10 +57,10 @@ function copyOptions (source, destination, transfromFunc = identity) {
57
57
function getProxyOptions ( proxyConfig ) {
58
58
try {
59
59
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 ) ;
61
61
62
62
return {
63
- host : hostname ,
63
+ host : hostname === 'undefined' ? null : hostname ,
64
64
port : port ,
65
65
user : parsedAuth && parsedAuth [ 1 ] ,
66
66
pass : parsedAuth && parsedAuth [ 2 ]
@@ -76,10 +76,11 @@ function createBrowserStackConnector (accessKey) {
76
76
var connector = new BrowserstackConnector ( ) ;
77
77
78
78
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 ( ) ,
83
84
84
85
//NOTE: additional args use different format
85
86
'enable-logging-for-api' : true
@@ -244,12 +245,13 @@ export default {
244
245
// Browser control
245
246
async openBrowser ( id , pageUrl , browserName ) {
246
247
var capabilities = this . _generateCapabilities ( browserName ) ;
248
+ var connector = await this . _getConnector ( ) ;
247
249
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 ;
253
255
254
256
this . workers [ id ] = await doRequest ( BROWSERSTACK_API_PATHS . newWorker , capabilities ) ;
255
257
this . workers [ id ] . started = Date . now ( ) ;
0 commit comments