ChromeDriver not working on Chrome 80

It looks like Chrome went to version 80 last night. Now all of our test scripts our broken. This is the message below that I get for every one of them.

Caused by: org.openqa.selenium.SessionNotCreatedException: session not created: This version of ChromeDriver only supports Chrome version 79

I tried adding the “–config -webui.autoUpdateDrivers=true” to my command line in my .circleci/config.yml file, as shown below. However, the I keep getting the same message. Apparently, it’s not updating the webdrivers automatically.

command: katalon-execute.sh -browserType="Chrome" -retry=0 -statusDelay=15 -testSuitePath="Test Suites/Regression Testing" -apiKey=${KATALON_API_KEY} -executionProfile="stage" --info -buildLabel="${CIRCLE_BUILD_URL}" -buildURL="${CIRCLE_BUILD_URL}" --config -webui.autoUpdateDrivers=true

What am I doing wrong here? How do I get Katalon to run the update inside the docker container at execution?

1 Like

Hi @eric.martin,

Chrome has recently updated to v81 that is not compatible with KRE’s chromedriver (v79) so you need to use auto-update webdriver feature using: “–config -webui.autoUpdateDrivers=true” command.
Your command is correct but you should update to the KRE latest version (v7.3.1).

When auto-update webdriver feature works, the console should log this message:

Chrome driver is located at: ___/configuration/resources/temp/webdriver/chromedriver

Btw, we will consider supporting chromedriver v81 in some next minor release.

Thanks for your report.

When you say that, do you mean katalonc.sh? I tried updating our config.yml to use that, but keep getting the message that it cannot find the project. I’m not sure what I should put for the -projectPath argument since I’m not running locally. The docs state that it needs an absolute path, like “C:\Katalon Studio\Project\YourProject.prj”. I tried what I saw somewhere in the docs for the katalonc executable using “/tmp/project”, but that does not work. Please see below for my 7.3.1 executable string:

katalonc.sh -runMode=console -summaryReport -retry=0 -statusDelay=15 -browserType="Chrome" -projectPath=/tmp/project -testSuitePath="Test Suites/Regression Testing" -executionProfile="stage" -apiKey=${KATALON_API_KEY} --info -buildLabel="${CIRCLE_BUILD_URL}" -buildURL="${CIRCLE_BUILD_URL}" --config -webui.autoUpdateDrivers=true

Hi @eric.martin

Does the same command work on the earlier version of KRE, after adding --config -webui.autoUpdateDrivers=true ?

No, that’s the first thing I tried. Even after adding it to the command string, I still get the version 79 message.

1 Like

We have the same issue using Docker, and even when trying to force autoUpdateDrivers (which seems to have no effect). Our command line arguments (as seen in the log) are:
exec katalonc.sh -projectPath=/tmp/project -retry=0 -statusDelay=15 '-testSuiteCollectionPath=Test Suites/TSC-eb' -apikey=***** --config -webui.autoUpdateDrivers=true

However, the log output regarding Chrome driver location is unchanged:

Chrome driver is located at: /opt/katalonstudio/configuration/resources/drivers/chromedriver_linux64/chromedriver

And we get the same tired version conflict error:

session not created: This version of ChromeDriver only supports Chrome version 79

Any help would be greatly appreciated.

@oyvind.mo

Please share us the full execution log.

@duyluong Hi, and thanks for quick response. I’m attaching the console output and execution log for Chrome:

execution0.log (138.9 KB)consoleOutput.txt (9.7 KB)

@oyvind.mo @eric.martin
We are investigating the issue of the auto update webdriver feature on Linux.

Please try this workaround:

  1. Download the latest chromedriver at this link: https://chromedriver.storage.googleapis.com/index.html?path=81.0.4044.69/
  2. Create folder Include/drivers/chromedriver_linux64 and paste the downloaded driver into this folder.
    Screen Shot 2020-04-16 at 3.25.34 PM
    3.Re-run on your Linux

References: https://docs.katalon.com/katalon-studio/docs/handle-webdrivers.html#replace-webdriver-binaries-project-level

1 Like

Thanks again for getting back to me so quickly, @duyluong .
Also thanks for the workaround. I’m unfortunately not experienced enough with Docker yet, to know how to replace the driver within the Docker instance. Is there any simple sequence of docker commands that let me do this?

We’ve found a temporary work-around by falling back to your docker image katalonstudio/katalon:7.2.3, where there is a match between the default driver and Chrome versions.

@oyvind.mo

The workaround above suggests copying the chromedriver into your project folder.

1 Like

@duyluong Thanks for pointing this possibility out! Your suggested work around works great.

Great! I’ll have to try it.

In the meantime, I was able to get the scripts running again yesterday by using an older Docker image, as well. katalonstudio/katalon:7.2.10 appears to be the last working version.

1 Like

Hello, @duyluong. After placing binary of the desired version of chromedriver in Include/drivers/chromedriver_win32. Does Katalon verify and prioritize that one over “configuration/resources” version?

If placing the binary there isn`t all needed to make it able to execution, what else should be done? Could you please give some help on that?

@soikmd2

Katalon Studio will prioritize drivers in: project’s Include/drivers first then Katalon Studio’s configuration/resources/drivers.

1 Like

Just for information:
If you are willing to use an specific Chromedriver version at Azure DevOps Windows except the latest one atainable by using -config --webui.autoUpdateDrivers=true, place it in “/Include/drivers/chromedriver_win64”, even if binary is win32.
I took a while to realize that.