Skip to content
This repository was archived by the owner on Jul 29, 2024. It is now read-only.
This repository was archived by the owner on Jul 29, 2024. It is now read-only.

ECONNREFUSED when using forkNewDriverInstance() without calling quit() #2203

@barbogast

Description

@barbogast

Calling browser.forkNewDriverInstance() without calling quit() on the new instance afterwards throws an ECONNREFUSED error when protractor exits.

Example:

describe('forkNewDriverInstance() without calling quit()', function() {
    it('should not crash', function(){
        var newBrowser = browser.forkNewDriverInstance(false, true);
        //newBrowser.quit();    // if this is enabled the error disapears
    });
});

The error:

Starting selenium standalone server...
[launcher] Running 1 instances of WebDriver
Selenium standalone server started at http://192.168.0.44:45112/wd/hub
.

Finished in 0.91 seconds
1 test, 0 assertions, 0 failures

Shutting down selenium standalone server.

/home/ben/code/node_modules/protractor/node_modules/selenium-webdriver/http/index.js:145
      callback(new Error(message));
               ^
Error: ECONNREFUSED connect ECONNREFUSED
    at ClientRequest.<anonymous> (/home/ben/code/node_modules/protractor/node_modules/selenium-webdriver/http/index.js:145:16)
    at ClientRequest.emit (events.js:107:17)
    at Socket.socketErrorListener (_http_client.js:271:9)
    at Socket.emit (events.js:107:17)
    at net.js:459:14
    at process._tickCallback (node.js:355:11)
From: Task: WebDriver.quit()
    at [object Object].webdriver.WebDriver.schedule (/home/ben/code/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:360:15)
    at [object Object].webdriver.WebDriver.quit (/home/ben/code/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:443:21)
    at /home/ben/code/node_modules/protractor/lib/driverProviders/driverProvider.js:59:14
    at [object Object].promise.ControlFlow.runInFrame_ (/home/ben/code/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:1877:20)
    at [object Object].promise.Callback_.goog.defineClass.notify (/home/ben/code/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:2464:25)
    at [object Object].promise.Promise.notify_ (/home/ben/code/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:563:12)
    at Array.forEach (native)
    at Object.goog.array.forEach (/home/ben/code/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/array/array.js:203:43)
    at [object Object].promise.Promise.notifyAll_ (/home/ben/code/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:552:16)
    at goog.async.run.processWorkQueue (/home/ben/code/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/async/run.js:125:21)
[launcher] Process exited with error code 1
[17:36:01] 'test:e2e' errored after 2.86 s
[17:36:01] Error: 1
    at formatError (/usr/lib/node_modules/gulp-cli/index.js:197:10)
    at Gulp.<anonymous> (/usr/lib/node_modules/gulp-cli/index.js:223:15)
    at Gulp.emit (events.js:107:17)
    at Gulp.Orchestrator._emitTaskDone (/home/ben/code/node_modules/gulp/node_modules/orchestrator/index.js:264:8)
    at /home/ben/code/node_modules/gulp/node_modules/orchestrator/index.js:275:23
    at finish (/home/ben/code/node_modules/gulp/node_modules/orchestrator/lib/runTask.js:21:8)
    at ChildProcess.cb (/home/ben/code/node_modules/gulp/node_modules/orchestrator/lib/runTask.js:29:3)
    at ChildProcess.g (events.js:199:16)
    at ChildProcess.emit (events.js:110:17)
    at maybeClose (child_process.js:1015:16)

Calling quit() is not required, right? At least it says so here:

// You can choose to not quit the browser, and protractor will quit all of

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions