SeasideSt / Parasol

Testing web apps in Smalltalk using Selenium WebDriver.
MIT License
31 stars 16 forks source link

Chromedriver 75 now runs in W3C standard compliant mode by default, breaking compatibility with Parasol #29

Closed jbrichau closed 4 years ago

jbrichau commented 5 years ago

Chromedriver 75 runs in W3C compatibility mode by default [1]. The W3C version protocol of webdriver [2] is not yet implemented in Parasol. The tests should put the 'w3c' chromeoption to false, as long as this protocol is not implemented.

[1] https://chromedriver.storage.googleapis.com/75.0.3770.8/notes.txt [2] https://www.w3.org/TR/webdriver1/

Rinzwind commented 4 years ago

Parasol has been changed to work with the W3C WebDriver protocol. To upgrade, you may want to upgrade to commit 4c5b875 first. It's the last version that still uses the JSON wire protocol, but it has some changes in preparation for the switch to the W3C protocol, so you may want to check first that things still work when using that version.

When upgrading beyond commit 4c5b875, there are a few known incompatibilities to keep in mind:

Rinzwind commented 4 years ago

For reference, there are some tests based on the Selenium WebDriver Java bindings that I used to compare the behavior when using different versions of chromedriver (2.44 and 77.0.3865.40): Tests_Java_Parasol_Issue_29.zip. These work when using chromedriver 2.44 and Chrome v77.0.3865.90. When using chromedriver 77, testModifierKeys fails, the other tests work (some are not really tests though, but just snippets to check the commands that the driver receives as logged in “log_chromedriver.log”).

There are also some related issues that I opened or commented on: https://github.com/SeleniumHQ/selenium/issues/7542, https://github.com/SeleniumHQ/selenium/issues/4847#issuecomment-530368015, https://github.com/SeleniumHQ/selenium/issues/7566, https://github.com/SeleniumHQ/selenium/issues/7579.