I tried to find the alternative. Let me show you.
I work on macOS 12.6.
Chrome browser v115.0.5790.114 is installed in the directory /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
.
I have Katalon Studio 8.6.5 (without enterprise features) which is installed in the directory /Applications/Katalon Studio.app/
The ChromeDriver bunded in KS is found at the path of /Applications/Katalon Studio.app/Contents/Eclipse/configuration/resources/drivers/chromedriver_mac/chromedriver
My machine has Java 11 installed.
I made a dir where I wrote a bash script ‘updateChromeDriver.sh’ as follows:
# updateChromeDriver.sh
outdir="/Applications/Katalon Studio.app/Contents/Eclipse/configuration/resources/drivers/chromedriver_mac"
filename="chromedriver"
java -jar ./webdrivermanager-5.4.1-fat.jar resolveDriverFor chrome
#cp "$outdir/$filename" "$outdir/$filename-back"
echo "$outdir/$filename"
mv $filename "$outdir/$filename"
"$outdir/$filename" --version
I downloaded the webdrivermanager-5.4.1-fat.jar
file for here. I saved the jar file into the working directory.
I ran the shell script:
$ cd $tmp
$ chmod +x updateChromeDriver.sh
$ ./updateChromeDriver.sh
[INFO] Using WebDriverManager to resolve chrome
[DEBUG] Detecting chrome version using online commands.properties
[DEBUG] Running command on the shell: [/Applications/Google Chrome.app/Contents/MacOS/Google Chrome, --version]
[DEBUG] Result: Google Chrome 115.0.5790.114
[INFO] Using chromedriver 115.0.5790.102 (resolved driver for Chrome 115)
[INFO] Reading https://chromedriver.storage.googleapis.com/ to seek chromedriver
[DEBUG] Driver to be downloaded chromedriver 115.0.5790.102
[DEBUG] Using URL built from repository pattern: https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/115.0.5790.102/mac-x64/chromedriver-mac-x64.zip
[INFO] Downloading https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/115.0.5790.102/mac-x64/chromedriver-mac-x64.zip
[INFO] Extracting driver from compressed file chromedriver-mac-x64.zip
[INFO] Driver location: /Users/kazuakiurayama/katalon-workspace/UpdateChromeDriverUsingWebDriverManager/chromedriver
/Applications/Katalon Studio.app/Contents/Eclipse/configuration/resources/drivers/chromedriver_mac/chromedriver
ChromeDriver 115.0.5790.102 (90efd4b0ad6aa15eeafcdabd5817ae939f7ba059-refs/branch-heads/5790_90@{#9})
Thus I got the ChromeDriver 115.0.5790.102 installed at the path /Applications/Katalon Studio.app/Contents/Eclipse/configuration/resources/drivers/chromedriver_mac/chromedriver
OK. Now I will verify if my Katalon test is runnable with the Chrome browser v115.0.5790.114 with the ChromeDriver 115.0.5790.102.
My a Katalon Studio project, I made a Test Case
import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI
import internal.GlobalVariable
System.setProperty("webdriver.chrome.logfile", "./chromedriver.log");
System.setProperty("webdriver.chrome.verboseLogging", "true");
WebUI.comment('Story: Login to CURA system')
WebUI.comment('Given that the user has the valid login information')
WebUI.openBrowser(GlobalVariable.G_SiteURL)
WebUI.click(findTestObject('Page_CuraHomepage/btn_MakeAppointment'))
WebUI.setText(findTestObject('Page_Login/txt_UserName'), Username)
WebUI.setText(findTestObject('Page_Login/txt_Password'), Password)
WebUI.comment('When he logins to CURA system')
WebUI.click(findTestObject('Page_Login/btn_Login'))
WebUI.comment('Then he should be able to login successfully')
landingPage = WebUI.verifyElementPresent(findTestObject('Page_CuraAppointment/div_Appointment'), GlobalVariable.G_Timeout)
WebUI.closeBrowser()
I ran this Test case while selecting “Chrome” browser to run with. I got an error:
=============== ROOT CAUSE =====================
Caused by: org.openqa.selenium.WebDriverException: unknown error: cannot find Chrome binary
For trouble shooting, please visit: https://docs.katalon.com/katalon-studio/docs/troubleshooting.html
================================================
07-31-2023 10:43:55 午前 Test Cases/Main Test Cases/TC1_Verify Successful Login
Elapsed time: 3.183s
Test Cases/Main Test Cases/TC1_Verify Successful Login FAILED.
Reason:
com.kms.katalon.core.exception.StepFailedException: Unable to open browser with url: 'http://demoaut.katalon.com'
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:74)
at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords.openBrowser(WebUiBuiltInKeywords.groovy:64)
at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords$openBrowser.call(Unknown Source)
at TC1_Verify Successful Login.run(TC1_Verify Successful Login:14)
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:448)
at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:439)
at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:418)
at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:410)
at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:285)
at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:144)
at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:135)
at com.kms.katalon.core.main.TestCaseMain$runTestCase$0.call(Unknown Source)
at TempTestCase1690767825096.run(TempTestCase1690767825096.groovy:25)
Caused by: org.openqa.selenium.WebDriverException: unknown error: cannot find Chrome binary
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
System info: host: 'KAZUAKInoMacBook-Air-2.local', ip: 'fd68:efb6:3498:0:186c:9d58:971e:10e8%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '12.6', java.version: '1.8.0_362'
Driver info: driver.version: CChromeDriver
remote stacktrace: 0 chromedriver 0x0000000105ef5a58 chromedriver + 4991576
1 chromedriver 0x0000000105eecfa3 chromedriver + 4956067
2 chromedriver 0x0000000105a9f607 chromedriver + 443911
3 chromedriver 0x0000000105acd4b7 chromedriver + 631991
4 chromedriver 0x0000000105acc64c chromedriver + 628300
5 chromedriver 0x0000000105b1524c chromedriver + 926284
6 chromedriver 0x0000000105b145af chromedriver + 923055
7 chromedriver 0x0000000105b0b633 chromedriver + 886323
8 chromedriver 0x0000000105ad76f9 chromedriver + 673529
9 chromedriver 0x0000000105ad88de chromedriver + 678110
10 chromedriver 0x0000000105eb18a9 chromedriver + 4712617
11 chromedriver 0x0000000105eb68b4 chromedriver + 4733108
12 chromedriver 0x0000000105ebd799 chromedriver + 4761497
13 chromedriver 0x0000000105eb760a chromedriver + 4736522
14 chromedriver 0x0000000105e8a87c chromedriver + 4552828
15 chromedriver 0x0000000105ed5c08 chromedriver + 4860936
16 chromedriver 0x0000000105ed5d87 chromedriver + 4861319
17 chromedriver 0x0000000105ee5edf chromedriver + 4927199
18 libsystem_pthread.dylib 0x00007ff81128c4e1 _pthread_start + 125
19 libsystem_pthread.dylib 0x00007ff811287f6b thread_start + 15
at org.openqa.selenium.remote.W3CHandshakeResponse.lambda$errorHandler$0(W3CHandshakeResponse.java:62)
at org.openqa.selenium.remote.HandshakeResponse.lambda$getResponseFunction$0(HandshakeResponse.java:30)
at org.openqa.selenium.remote.ProtocolHandshake.lambda$createSession$0(ProtocolHandshake.java:126)
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:128)
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:74)
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:136)
at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552)
at com.kms.katalon.selenium.driver.CChromeDriver.execute(CChromeDriver.java:19)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:213)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:131)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:181)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:147)
at com.kms.katalon.selenium.driver.CChromeDriver.<init>(CChromeDriver.java:13)
at com.kms.katalon.core.webui.driver.DriverFactory.createNewChromeDriver(DriverFactory.java:441)
at com.kms.katalon.core.webui.driver.DriverFactory.startNewBrowser(DriverFactory.java:374)
at com.kms.katalon.core.webui.driver.DriverFactory.openWebDriver(DriverFactory.java:263)
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)
... 17 more
The ChromeDriver v115.0.5790.114 said “can not find Chrome binary”. What’s wrong?