From 2505b94abe6d51f6367f16382541c1f26469545c Mon Sep 17 00:00:00 2001 From: Michael Giambalvo Date: Thu, 12 Jan 2017 15:30:55 -0800 Subject: [PATCH 1/2] Allow using a pre-existing Blocking Proxy. --- lib/cli.ts | 1 + lib/config.ts | 7 +++++++ lib/driverProviders/driverProvider.ts | 5 ++++- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/lib/cli.ts b/lib/cli.ts index 7a0328867..910b0d810 100644 --- a/lib/cli.ts +++ b/lib/cli.ts @@ -41,6 +41,7 @@ let allowedNames = [ 'seleniumSessionId', 'webDriverProxy', 'useBlockingProxy', + 'blockingProxyUrl', 'sauceUser', 'sauceKey', 'sauceAgent', diff --git a/lib/config.ts b/lib/config.ts index 107d62f25..e33a0e068 100644 --- a/lib/config.ts +++ b/lib/config.ts @@ -104,6 +104,13 @@ export interface Config { */ useBlockingProxy?: boolean; + /** + * If specified, Protractor will connect to the Blocking Proxy at the given + * url instead of starting it's own. Intended for debugging Protractor + * features only. + */ + blockingProxyUrl?: string; + // ---- 3. To use remote browsers via Sauce Labs ----------------------------- /** diff --git a/lib/driverProviders/driverProvider.ts b/lib/driverProviders/driverProvider.ts index fbbaa900a..9926b8a1d 100644 --- a/lib/driverProviders/driverProvider.ts +++ b/lib/driverProviders/driverProvider.ts @@ -31,6 +31,9 @@ export abstract class DriverProvider { } getBPUrl() { + if (this.config_.blockingProxyUrl) { + return this.config_.blockingProxyUrl; + } return `http://localhost:${this.bpRunner.port}`; } @@ -105,7 +108,7 @@ export abstract class DriverProvider { */ setupEnv(): q.Promise { let driverPromise = this.setupDriverEnv(); - if (this.config_.useBlockingProxy) { + if (this.config_.useBlockingProxy && !this.config_.blockingProxyUrl) { // TODO(heathkit): If set, pass the webDriverProxy to BP. return q.all([driverPromise, this.bpRunner.start()]); } From fd3491ea1dfdad4375cf8e845493388dc8ddeca0 Mon Sep 17 00:00:00 2001 From: Michael Giambalvo Date: Wed, 18 Jan 2017 13:52:04 -0800 Subject: [PATCH 2/2] Make comment less scary. --- lib/config.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/config.ts b/lib/config.ts index e33a0e068..d274bdd18 100644 --- a/lib/config.ts +++ b/lib/config.ts @@ -106,8 +106,7 @@ export interface Config { /** * If specified, Protractor will connect to the Blocking Proxy at the given - * url instead of starting it's own. Intended for debugging Protractor - * features only. + * url instead of starting it's own. */ blockingProxyUrl?: string;