Skip to content

Commit fcc5ff9

Browse files
AndreyBelymAlexanderMoskovkin
authored andcommitted
Fix proxy config; Add tunnel naming; Bump version (#10)
1 parent a2f56c9 commit fcc5ff9

File tree

2 files changed

+15
-13
lines changed

2 files changed

+15
-13
lines changed

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "testcafe-browser-provider-browserstack",
3-
"version": "1.1.0",
3+
"version": "1.1.1",
44
"description": "browserstack TestCafe browser provider plugin.",
55
"repository": "https://github.com/DevExpress/testcafe-browser-provider-browserstack",
66
"homepage": "https://github.com/DevExpress/testcafe-browser-provider-browserstack",

src/index.js

+14-12
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ const TOO_SMALL_TIME_FOR_WAITING = MINIMAL_WORKER_TIME - TESTCAFE_CLOSING_TIMEOU
1717
const 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

2222
const BROWSERSTACK_API_PATHS = {
2323
browserList: {
@@ -57,10 +57,10 @@ function copyOptions (source, destination, transfromFunc = identity) {
5757
function 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

Comments
 (0)