Skip to content

Commit b097242

Browse files
committed
[js] Expose loopback option to remote/SeleniumServer
Fixes #1066
1 parent 8104d28 commit b097242

File tree

4 files changed

+17
-2
lines changed

4 files changed

+17
-2
lines changed

javascript/node/selenium-webdriver/CHANGES.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
## v2.48.0-dev
2+
3+
* FIXED: Surfaced the `loopback` option to `remote/SeleniumServer`. When set,
4+
the server will be accessed using the current host's loopback address.
5+
16
## v2.47.0
27

38
### Notice

javascript/node/selenium-webdriver/lib/test/index.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ var NATIVE_BROWSERS = [
4444

4545
var serverJar = process.env['SELENIUM_SERVER_JAR'];
4646
var remoteUrl = process.env['SELENIUM_REMOTE_URL'];
47+
var useLoopback = process.env['SELENIUM_USE_LOOP_BACK'] == '1';
4748
var startServer = !!serverJar && !remoteUrl;
4849
var nativeRun = !serverJar && !remoteUrl;
4950

@@ -91,6 +92,9 @@ var browsersToTest = (function() {
9192
console.log('Using remote server ' + remoteUrl);
9293
} else if (serverJar) {
9394
console.log('Using standalone Selenium server ' + serverJar);
95+
if (useLoopback) {
96+
console.log('Running tests using loopback address')
97+
}
9498
}
9599

96100
return browsers;
@@ -208,7 +212,8 @@ function suite(fn, opt_options) {
208212

209213
if (!!serverJar && !remoteUrl) {
210214
if (!(serverToUse = seleniumServer)) {
211-
serverToUse = seleniumServer = new remote.SeleniumServer(serverJar);
215+
serverToUse = seleniumServer = new remote.SeleniumServer(
216+
serverJar, {loopback: useLoopback});
212217
}
213218

214219
testing.before(function() {

javascript/node/selenium-webdriver/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "selenium-webdriver",
3-
"version": "2.47.0",
3+
"version": "2.48.0-dev",
44
"description": "The official WebDriver JavaScript bindings from the Selenium project",
55
"license": "Apache-2.0",
66
"keywords": [

javascript/node/selenium-webdriver/remote/index.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ var _base = require('../_base'),
5151
* information, refer to the documentation of `child_process.spawn`.
5252
*
5353
* @typedef {{
54+
* loopback: (boolean|undefined),
5455
* port: (number|!webdriver.promise.Promise.<number>),
5556
* args: !(Array.<string>|webdriver.promise.Promise.<!Array.<string>>),
5657
* path: (string|undefined),
@@ -276,6 +277,7 @@ function SeleniumServer(jar, opt_options) {
276277
});
277278

278279
DriverService.call(this, 'java', {
280+
loopback: options.loopback,
279281
port: port,
280282
args: args,
281283
path: '/wd/hub',
@@ -289,6 +291,8 @@ util.inherits(SeleniumServer, DriverService);
289291
/**
290292
* Options for the Selenium server:
291293
*
294+
* - `loopback` - Whether the server should only be accessed on this host's
295+
* loopback address.
292296
* - `port` - The port to start the server on (must be > 0). If the port is
293297
* provided as a promise, the service will wait for the promise to resolve
294298
* before starting.
@@ -302,6 +306,7 @@ util.inherits(SeleniumServer, DriverService);
302306
* information, refer to the documentation of `child_process.spawn`.
303307
*
304308
* @typedef {{
309+
* loopback: (boolean|undefined),
305310
* port: (number|!webdriver.promise.Promise.<number>),
306311
* args: !(Array.<string>|webdriver.promise.Promise.<!Array.<string>>),
307312
* jvmArgs: (!Array.<string>|

0 commit comments

Comments
 (0)