Vue-cli: nightwatch - session not created - unable to connect to renderer

Created on 23 Jul 2019  Â·  8Comments  Â·  Source: vuejs/vue-cli

Version

3.9.3

Reproduction link

https://if-this-is-a-real-requirement-just-close-and-ill-move-on

Environment info

Environment Info:

  System:
    OS: macOS 10.14.5
    CPU: (16) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
  Binaries:
    Node: 10.15.0 - ~/.nvm/versions/node/v10.15.0/bin/node
    Yarn: 1.17.3 - ~/.nvm/versions/node/v10.15.0/bin/yarn
    npm: 6.10.1 - ~/.nvm/versions/node/v10.15.0/bin/npm
  Browsers:
    Chrome: 75.0.3770.142
    Firefox: 67.0.4
    Safari: 12.1.1
  npmPackages:
    @vue/babel-helper-vue-jsx-merge-props:  1.0.0
    @vue/babel-plugin-transform-vue-jsx:  1.0.0
    @vue/babel-preset-app:  3.9.2
    @vue/babel-preset-jsx:  1.0.0
    @vue/babel-sugar-functional-vue:  1.0.0
    @vue/babel-sugar-inject-h:  1.0.0
    @vue/babel-sugar-v-model:  1.0.0
    @vue/babel-sugar-v-on:  1.0.0
    @vue/cli-overlay:  3.9.0
    @vue/cli-plugin-babel: ^3.9.2 => 3.9.2
    @vue/cli-plugin-e2e-nightwatch: ^3.9.2 => 3.9.2
    @vue/cli-plugin-eslint: ^3.9.2 => 3.9.2
    @vue/cli-plugin-unit-jest: ^3.9.0 => 3.9.0
    @vue/cli-service: ^3.9.3 => 3.9.3
    @vue/cli-shared-utils:  3.9.0
    @vue/component-compiler-utils:  2.6.0 (3.0.0)
    @vue/eslint-config-standard: ^4.0.0 => 4.0.0
    @vue/preload-webpack-plugin:  1.1.0
    @vue/test-utils: ^1.0.0-beta.29 => 1.0.0-beta.29
    @vue/web-component-wrapper:  1.2.0
    eslint-plugin-vue: ^5.2.3 => 5.2.3 (4.7.1)
    jest-serializer-vue:  2.0.2
    vue: ^2.6.10 => 2.6.10
    vue-eslint-parser:  5.0.0 (2.0.3)
    vue-hot-reload-api:  2.3.3
    vue-jest:  3.0.4
    vue-loader:  15.7.1
    vue-router: ^3.0.3 => 3.0.7
    vue-style-loader:  4.1.2
    vue-template-compiler: ^2.6.10 => 2.6.10
    vue-template-es2015-compiler:  1.9.1
    vuex: ^3.0.1 => 3.1.1
  npmGlobalPackages:
    @vue/cli: Not Found

Steps to reproduce

This isnt reproducable by anyone else, but I have upgraded all packages and my chrome binary and its still happening

What is expected?

selenium launches chrome and runs e2e tests

What is actually happening?

selenium launches chrome and immediately exits


Error retrieving a new session from the selenium server

Connection refused! Is selenium server started?
{ value:
   { message:
      'session not created\nfrom disconnected: unable to connect to renderer\n  (Session info: chrome=75.0.3770.142)\n  (Driver info: chromedriver=2.46.
628411 (3324f4c8be9ff2f70a05a30ebc72ffb013e1a71e),platform=Mac OS X 10.14.5 x86_64) (WARNING: The server did not provide any stacktrace information)\nCo
mmand duration or timeout: 868 milliseconds\nBuild info: version: \'3.141.59\', revision: \'e82be7d358\', time: \'2018-11-14T08:25:53\'\nSystem info: ho
st: \'l.local\', ip: \'fe80:0:0:0:1c33:be36:3840:8a33%en0\', os.name: \'Mac OS X\', os.arch: \'x86_64\', os.version: \'10.14.5\', java.version: \'12.0.1
\'\nDriver info: driver.version: unknown',
     error: 'session not created' },
  status: 33 }
enhancement next e2e-nightwatch

Most helpful comment

So I got this working by installing chromedriver 76 as a dev dependency and then specifying it in my nightwatch config:

const chromedriver = require('chromedriver')

module.exports = {
  selenium: {
    cli_args: {
      'webdriver.chrome.driver': chromedriver.path
    }
  }
}

All 8 comments

yarn add -D chromedriver@75

Next time, please do provide a real reproduction link. We do need the information to diagnose what's wrong.
Luckily this time the chromedriver version info is in the error output. Otherwise, I would have no idea what's going wrong.


The root cause here is the mismatch between your Chrome version and the chromedriver version in the project.
Since chromedriver adopted the same version strategy as Chrome, it's a pain in the ass to keep up with its pace.
We'll try to figure out a solution.

Maybe we can add a preflight check for the local chrome version?

Sorry for the lack of repro link @sodatea, I really appreciate your willingness to help regardless. I will dedicate some time to getting a suitable repro together in the future and will look into any potential solutions if this works; I also suspected a version mismatch but wasn't sure which was behind or ahead. I'll do some reading 👀 and thanks for the suggestion, it looks promising.

Oh no it's still happening :'( I will keep looking and if that fails I'll be back with a repro repo.

Hmm, looks like I still have the wrong chromedriver 👀

😂oh you may have to use @vue/cli-plugin-e2e-nightwatch v4.0.0-beta.0…
It was a breaking change to update the chromedriver dependency so it's only landed in v4… I totally forgot that.

Oh thanks! Well at least its already been done to some degree 😂

Utohh, I packaged a chromium bin in my project and updated the nightwatch config, but I'm getting the same error even though I'm on [email protected] with supported [email protected].

{ value:
   { message:
      'session not created\nfrom disconnected: unable to connect to renderer\n  (Session info: chrome=73.0.3683.0)\n  (Driver info: chromedriver=2.46.628411 (3324f4c8be9ff2f70a05a30ebc72ffb013e1a71e),platform=Mac OS X 10.14.5 x86_64) (WARNING: The server did not provide any stacktrace information)\nCommand duration or timeout: 763 milliseconds\nBuild info: version: \'3.141.59\', revision: \'e82be7d358\', time: \'2018-11-14T08:25:53\'\nSystem info: host: \'l.local\', ip: \'fe80:0:0:0:418:1d97:5fc1:70cc%en0\', os.name: \'Mac OS X\', os.arch: \'x86_64\', os.version: \'10.14.5\', java.version: \'12.0.1\'\nDriver info: driver.version: unknown',
     error: 'session not created' },
  status: 33 }

I'm going to try the latest chromedriver and chromium in the repo and see if that works, if not I will provide a repro repo.


Okay, even with chrome@75 and chromedriver@75 is same error 😢

Wowzo! It was my host file missing a 127.0.0.1 localhost declaration :| Sorry for the wasted time!

So am I reading this correctly, if you have chrome 76 installed you need to upgrade vue cli to v4.0.0-beta.0… to run e2e tests? Can I upgrade chromedriver separately? It doesn't seem to have an effect.

So I got this working by installing chromedriver 76 as a dev dependency and then specifying it in my nightwatch config:

const chromedriver = require('chromedriver')

module.exports = {
  selenium: {
    cli_args: {
      'webdriver.chrome.driver': chromedriver.path
    }
  }
}
Was this page helpful?
0 / 5 - 0 ratings

Related issues

eladcandroid picture eladcandroid  Â·  3Comments

Benzenes picture Benzenes  Â·  3Comments

wahidrahim picture wahidrahim  Â·  3Comments

JIANGYUJING1995 picture JIANGYUJING1995  Â·  3Comments

brandon93s picture brandon93s  Â·  3Comments