Unable to update Chromedriver on Mac in Katalon Studio

Hello. Since the latest update of Chrome I’m unable to open a Chrome browser on my mobile devices in a Katalon Studio test.

I’m using Katalon Studio v6.3.3 on a Mac. My (Android) device is on Chrome v77 and I get the following error when I try to run a test that opens a browser:

Caused by: org.openqa.selenium.SessionNotCreatedException: Unable to create a new remote session. Please check the server log for more details. Original error: An unknown server-side error occurred while processing the command. Original error: Failed to start Chromedriver session: A new session could not be created. Details: session not created: This version of ChromeDriver only supports Chrome version 75

The test worked to open a mobile browser before the Chrome update but now fails.

What I’ve tried:

  1. Downloaded the latest chromedriver.exe (version 77 and the beta 78 also) and tried putting each into Katalon Studio/Contents/Eclipse/configuration/resources/drivers/chromedriver_mac, run chmod +x chromedriver then restarting KS and re-running the test. Same error seen as above upon rerunning the test.

  2. In the KS GUI, going to Tools > Update WebDrivers > Chrome, which runs and indicates that the webdriver has been successfully updated. However, the test still fails with the same error.

Console logs:
2019-09-26 11:42:03.554 INFO c.k.k.c.a.driver.AppiumDriverManager - deviceName = samsung SM-G930U (Android 8.0.0)

2019-09-26 11:42:03.555 INFO c.k.k.c.a.driver.AppiumDriverManager - deviceModel = SM-G930U

2019-09-26 11:42:03.555 INFO c.k.k.c.a.driver.AppiumDriverManager - deviceManufacturer = samsung

2019-09-26 11:42:03.556 INFO c.k.k.c.a.driver.AppiumDriverManager - deviceOS = Android

2019-09-26 11:42:03.557 INFO c.k.k.c.a.driver.AppiumDriverManager - deviceOSVersion = 8.0.0

2019-09-26 11:42:03.572 ERROR c.k.k.core.keyword.internal.KeywordMain - :x: Unable to open browser with url: ‘https://staging.transitapp.com/deep-links’ (Root cause: com.kms.katalon.core.exception.StepFailedException: Unable to open browser with url: ‘<URL>’

at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.stepFailed(WebUIKeywordMain.groovy:64)

at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.runKeyword(WebUIKeywordMain.groovy:26)

at com.kms.katalon.core.webui.keyword.builtin.OpenBrowserKeyword.openBrowser(OpenBrowserKeyword.groovy:81)

at com.kms.katalon.core.webui.keyword.builtin.OpenBrowserKeyword.execute(OpenBrowserKeyword.groovy:67)

at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:56)

at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords.openBrowser(WebUiBuiltInKeywords.groovy:60)

at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords$openBrowser.call(Unknown Source)

at Address to Address.run(Address to Address:15)

at com.kms.katalon.core.main.ScriptEngine.run(ScriptEngine.java:194)

at com.kms.katalon.core.main.ScriptEngine.runScriptAsRawText(ScriptEngine.java:119)

at com.kms.katalon.core.main.TestCaseExecutor.runScript(TestCaseExecutor.java:337)

at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:328)

at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:307)

at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:299)

at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:233)

at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:114)

at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:105)

at com.kms.katalon.core.main.TestCaseMain$runTestCase$0.call(Unknown Source)

at TempTestCase1569512495716.run(TempTestCase1569512495716.groovy:21)

Caused by: org.openqa.selenium.SessionNotCreatedException: Unable to create a new remote session. Please check the server log for more details. Original error: An unknown server-side error occurred while processing the command. Original error: Failed to start Chromedriver session: A new session could not be created. Details: session not created: This version of ChromeDriver only supports Chrome version 75

(Driver info: chromedriver=75.0.3770.90 (a6dcaf7e3ec6f70a194cc25e8149475c6590e025-refs/branch-heads/3770@{#1003}),platform=Mac OS X 10.14.6 x86_64)

Build info: version: ‘3.141.59’, revision: ‘e82be7d358’, time: ‘2018-11-14T08:25:53’

System info: host: ‘Stephanies-MBP’, ip: ‘fe80:0:0:0:8d5:c993:16b6:1e42%en0’, os.name: ‘Mac OS X’, os.arch: ‘x86_64’, os.version: ‘10.14.6’, java.version: ‘1.8.0_181’

Driver info: driver.version: SwipeableAndroidDriver

remote stacktrace: UnknownError: An unknown server-side error occurred while processing the command. Original error: Failed to start Chromedriver session: A new session could not be created. Details: session not created: This version of ChromeDriver only supports Chrome version 75

(Driver info: chromedriver=75.0.3770.90 (a6dcaf7e3ec6f70a194cc25e8149475c6590e025-refs/branch-heads/3770@{#1003}),platform=Mac OS X 10.14.6 x86_64)

at getResponseForW3CError (/usr/local/lib/node_modules/appium/node_modules/appium-base-driver/lib/protocol/errors.js:826:9)

at asyncHandler (/usr/local/lib/node_modules/appium/node_modules/appium-base-driver/lib/protocol/protocol.js:447:37)

Build info: version: ‘3.141.59’, revision: ‘e82be7d358’, time: ‘2018-11-14T08:25:53’

System info: host: ‘Stephanies-MBP’, ip: ‘fe80:0:0:0:8d5:c993:16b6:1e42%en0’, os.name: ‘Mac OS X’, os.arch: ‘x86_64’, os.version: ‘10.14.6’, java.version: ‘1.8.0_181’

Driver info: driver.version: SwipeableAndroidDriver

at io.appium.java_client.remote.AppiumCommandExecutor$1.createSession(AppiumCommandExecutor.java:208)

at io.appium.java_client.remote.AppiumCommandExecutor.createSession(AppiumCommandExecutor.java:217)

at io.appium.java_client.remote.AppiumCommandExecutor.execute(AppiumCommandExecutor.java:239)

at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552)

at io.appium.java_client.DefaultGenericMobileDriver.execute(DefaultGenericMobileDriver.java:42)

at io.appium.java_client.AppiumDriver.execute(AppiumDriver.java:1)

at io.appium.java_client.android.AndroidDriver.execute(AndroidDriver.java:1)

at com.kms.katalon.core.appium.driver.SwipeableAndroidDriver.execute(SwipeableAndroidDriver.java:1)

at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:213)

at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:131)

at io.appium.java_client.DefaultGenericMobileDriver.<init>(DefaultGenericMobileDriver.java:38)

at io.appium.java_client.AppiumDriver.<init>(AppiumDriver.java:84)

at io.appium.java_client.android.AndroidDriver.<init>(AndroidDriver.java:85)

at com.kms.katalon.core.appium.driver.SwipeableAndroidDriver.<init>(SwipeableAndroidDriver.java:24)

at com.kms.katalon.core.appium.driver.AppiumDriverManager.createMobileDriver(AppiumDriverManager.java:497)

at com.kms.katalon.core.appium.driver.AppiumDriverManager.createMobileDriver(AppiumDriverManager.java:479)

at com.kms.katalon.core.webui.driver.WebMobileDriverFactory.createMobileDriver(WebMobileDriverFactory.java:132)

at com.kms.katalon.core.webui.driver.DriverFactory.startNewBrowser(DriverFactory.java:293)

at com.kms.katalon.core.webui.driver.DriverFactory.openWebDriver(DriverFactory.java:199)

at com.kms.katalon.core.webui.keyword.builtin.OpenBrowserKeyword$_openBrowser_closure1.doCall(OpenBrowserKeyword.groovy:74)

at com.kms.katalon.core.webui.keyword.builtin.OpenBrowserKeyword$_openBrowser_closure1.call(OpenBrowserKeyword.groovy)

at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.runKeyword(WebUIKeywordMain.groovy:20)

at com.kms.katalon.core.webui.keyword.builtin.OpenBrowserKeyword.openBrowser(OpenBrowserKeyword.groovy:81)

at com.kms.katalon.core.webui.keyword.builtin.OpenBrowserKeyword.execute(OpenBrowserKeyword.groovy:67)

at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:56)

at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords.openBrowser(WebUiBuiltInKeywords.groovy:60)

at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords$openBrowser.call(Unknown Source)

at Script1566922459482.run(Script1566922459482.groovy:15)

… 11 more

Caused by: java.lang.reflect.InvocationTargetException

at io.appium.java_client.remote.AppiumCommandExecutor$1.createSession(AppiumCommandExecutor.java:186)

… 38 more

Hello,

I have had this happen to me before on my windows machine, when this happens I usually just manually update the chromedriver via: https://chromedriver.chromium.org/downloads

I’ve also come across being unable to fix the issue, in which case I rolled back Google Chrome itself to the supported version: https://support.google.com/chrome/a/answer/7125792?hl=en

Regards,

Thanks for your response but I’ve already tried that (#1 What I’ve Tried in the OP.) It seems like Katalon is not picking up the updated webdriver when I put it into the specified location.

Sorry about the re-hash, I had noticed that too late which is why I went and edited in the Google Chrome rollback thing too :sweat_smile:

I happened to come across a similar post too:

Step 3 of duyluong’s response looks like something new?

Ah, thanks; just saw the re-edit. Unfortunately I haven’t found a way yet to roll back Chrome on a mobile device. The only places I’ve found that seem to have older versions for download are shady and malware prone.

As for the command, I saw that same post and tried it too–forgot to include that in my OP. But thanks, I appreciate the help.

Darn :disappointed:, it does look like trying to manipulate mobile versions is impossible, at least for rolling them back. I’ll keep an eye out for any more info until the Katalon cavalry arrive lol

1 Like

Update:

I found the place where the Chromedriver being used by my instance of Katalon Studio is being stored–it’s in my Appium folder here:

usr/local/lib/node_modules/appium/node_modules/appium-chromedriver/mac

I updated to Appium 1.15.0 (for other reasons), then copied the new Chromedriver (v77) to the location specified above and reran the test. Now I get a different error, I believe due to Chromedriver after v75 now using W3C standard as noted here:

Under the W3C section, it indicates:

Old Android devices can’t use newer chrome drivers. You can avoid the error if you run tests with the Mobile JSON Wire Protocol.

I tried setting a desired capability of forceMjsonwp = true but it did not solve the issue. Still unable to open a Chrome browser on my Android device via Katalon test. The new error is:

Caused by: org.openqa.selenium.UnsupportedCommandException: unknown command: Cannot call non W3C standard command while in W3C mode (WARNING: The server did not provide any stacktrace information)

Still getting this error trying to open a Chrome browser on Android device in Katalon 7.0.8

Caused by: org.openqa.selenium.UnsupportedCommandException: unknown command: Cannot call non W3C standard command while in W3C mode (WARNING: The server did not provide any stacktrace information)

Hello everyone,

Please try manually downloading ChromeDriver for Appium. You’re recommended to get the version that’s compatible with Chrome on your device. Replace the existing ChromeDriver in Appium Directory with the newly downloaded one.

In Mac: go to /usr/local/lib/node_modules/appium/node_modules/appium-chromedriver/chromedriver/mac/

Jass

1 Like

Hi, Jass,

That’s actually the first thing I tried, listed under Things I’ve Tried in the original post above. Forgot to note that I also tried it in the location you specified in your response. I’m still getting the same error.

Hi @SC_Smith

I’m sorry. It’s my mistake.

Given your Appium version is 1.15.0, please try setting a desired capability for Android in Project Settings to fix this error:

Jass

2 Likes

Thanks, @Jass! Adding that desired capability fixed the error and Chrome is opening now.

1 Like