nightwatchjs / nightwatch

Integrated end-to-end testing framework written in Node.js and using W3C Webdriver API. Developed at @browserstack
https://nightwatchjs.org
MIT License
11.83k stars 1.32k forks source link

Chrome 76 Compatibility with Nightwatch #2164

Closed EETTS closed 5 years ago

EETTS commented 5 years ago

Hi,

Currently using Nightwatch v1.1.13 with ChromeDriver 76.0.3809.68, I am encountering the following error continuously within the log, Nightwatch was working fine with ChromeDriver 74.0.3729.6 using Chrome v75 but since updated Chrome Nightwatch no longer functions.

Please see error below:

Error while running .getElementCSSValue() protocol action: TypeError [ERR_UNESCAPED_CHARACTERS]: Error while trying to create HTTP request for "/wd/hub/session/5e08c126c7f5a11e9fb29fb0f45937d7/element/[object Object]/css/background-image": Request path contains unescaped characters at new ClientRequest (_http_client.js:115:13) at Object.request (http.js:42:10) at HttpRequest.createHttpRequest (C:\Git\InstaLIBRARY - Nightwatch\node_modules\nightwatch\lib\http\request.js:112:55) at HttpRequest.send (C:\Git\InstaLIBRARY - Nightwatch\node_modules\nightwatch\lib\http\request.js:191:29) at Promise (C:\Git\InstaLIBRARY - Nightwatch\node_modules\nightwatch\lib\transport\transport.js:189:15) at new Promise () at Selenium2Protocol.sendProtocolAction (C:\Git\InstaLIBRARY - Nightwatch\node_modules\nightwatch\lib\transport\transport.js:187:12) at Selenium2Protocol.runProtocolAction (C:\Git\InstaLIBRARY - Nightwatch\node_modules\nightwatch\lib\transport\jsonwire.js:61:17) at Object.getElementCSSValue (C:\Git\InstaLIBRARY - Nightwatch\node_modules\nightwatch\lib\transport\actions.js:54:10) at Selenium2Protocol.executeProtocolAction (C:\Git\InstaLIBRARY - Nightwatch\node_modules\nightwatch\lib\transport\transport.js:235:48)

aberonni commented 5 years ago

Might be somewhat related to what is mentioned in the release notes for v1.1.12: https://github.com/nightwatchjs/nightwatch/releases/tag/v1.1.12

EETTS commented 5 years ago

Thanks for the swift reply,

I've taken a look at the notes and adjusted my Nightwatch Config file accordingly but I am still encountering the same error using the following Chrome Driver version: 76.0.3809.68 when running the test against Nightwatch v1.1.13.

deleonio commented 5 years ago

w3c: false

EETTS commented 5 years ago

'w3c' wasnt an option in my existing config file, where is this option added within the config file?

deleonio commented 5 years ago

read the changelog 1.1.12

EETTS commented 5 years ago

Managed to figure out where in the config the options are supposed to go, thanks @aberonni for the link to the changelog.

deleonio commented 5 years ago

post you nightwatch config. Thanks

elisehein commented 5 years ago

@EETTS Could you share the config that you ended up using? I'm facing the same issue and none of the following fix it:

...
"test_settings" : {
    "default" : {
      ...
      "desiredCapabilities": {
        "browserName": "chrome"
      },
      "webdriver": {
        "use_legacy_jsonwire": false
      }
    }
  }
...
  "test_settings" : {
    "default" : {
      ...
      "desiredCapabilities": {
        "browserName": "chrome",
        "chromeOptions": {
          "w3c": false
        }
      },
      "webdriver": {
        "use_legacy_jsonwire": false
      }
    }
  }
...
  "test_settings" : {
    "default" : {
      ...
      "desiredCapabilities": {
        "browserName": "chrome",
        "chromeOptions": {
          "w3c": false
        }
      }
    }
  }
EETTS commented 5 years ago

I only ended up having to change the Configuration of Chrome within the Nightwatch config as follows in order to get the tests working again, has been fine ever since.

let CHROME_CONFIGURATION = { browserName: 'chrome', chromeOptions: { w3c: false, }, webdriver: { user_legacy_jsonwire: false, javascriptEnabled: true, acceptSslCerts: true, }, };