Unable to resolve class ... when running terminal console in Mac OSX

Hello, I am having trouble getting Katalon to work in command line (console) mode under Mac OSX. The main errors I find are listed below. The same project seems to work fine when launched under Windows (WSL) from command line.

Any ideas of what I could try to get it to to work?
It seems not to be able to handle global variable and custom keywords.

Stdout log:
Katalon version: 6.3.3
Plugin info URL: https://store.katalon.com/api/products/ks?appVersion=6.3.3
Plugin info: {
“expired”: false,
“productId”: 59,
“name”: “Basic Report”,
“id”: 25700
}
Plugin ID: 25700. Plugin location: /Users/e2e/testlab/var/mac/Katalon Studio.app/Contents/Eclipse/configuration/plugin/install/25700/1.0.6/katalon-studio-report-plugin.jar.
Plugin “Basic Report” has been installed.
Delete folder: bin
Delete folder: Libs
Opening project file: /Users/e2e/testlab/var/e2e-katalon/TestPhase.prj
Parsing custom keywords in Plugins folder…
Generating global variables…
/%Users%e2e%testlab%var%e2e-katalon%TestPhase.prj/Test Listeners/TestListenerA.groovy: 16 Groovy:unable to resolve class internal.GlobalVariable
Parsing custom keywords…
/%Users%e2e%testlab%var%e2e-katalon%TestPhase.prj/Libs/CustomKeywords.groovy: 25 Groovy:unable to resolve class com.kazurayam.ksbackyard.ScreenshotDriver
/%Users%e2e%testlab%var%e2e-katalon%TestPhase.prj/Libs/CustomKeywords.groovy: 32 Groovy:unable to resolve class com.kazurayam.ksbackyard.ScreenshotDriver
/%Users%e2e%testlab%var%e2e-katalon%TestPhase.prj/Libs/CustomKeywords.groovy: 39 Groovy:unable to resolve class com.kazurayam.ksbackyard.ScreenshotDriver
/%Users%e2e%testlab%var%e2e-katalon%TestPhase.prj/Libs/CustomKeywords.groovy: 46 Groovy:unable to resolve class com.kazurayam.ksbackyard.ScreenshotDriver

The message :

/%Users%e2e%testlab%var%e2e-katalon%TestPhase.prj/Libs/CustomKeywords.groovy: 25 
    Groovy:unable to resolve class com.kazurayam.ksbackyard.ScreenshotDriver

implies that, on your Mac, the katalon project misses ksbackyard.jar which is downloadable at https://github.com/kazurayam/ksbackyard/releases. I am the originator of the ksbackyard repository.

On your Windows box, your project would have Drivers/ksbackyard*.jar and possibly Drivers/ashot*.jar. I suppose you have somehow installed them manually.

And I suppose that your project has .gitignore file, and the file has a line:

Drivers/

Consequently the ksbackyard*.jar file is excluded from your source code repository. When you clone the respository into your Mac, the project would miss the ksbackyard*.jar.

Workarounds

A workaround is to include the jars into your Git repository, so that the jar files are cloned from the repository onto your Mac.

An alternative is to repeat manually downloading jars and installing them into the Drivers directory.

This message is not so significant. You can safely ignore this.

If you are interested, have a look at the following long long discussion:

I do not like the workarounds I mentioned above. I want to make things as automated as possible.

Unfortunately Katalon Studio does is not equipped with automated dependency management capability like Gradle.

For my VisualTestingInKatalonStudio project, I used Gradle together with Katalon Studio in order to add automated dependency management. See visualtestinginks-gradle-plugin

I hope Katalon Studio in future to be completely redesigned to use Gradle to build the project including dependency management — just like AndroidStudio uses Gradle.

1 Like

@kazurayam, Thanks very much for your feedback on my issue.
Also thanks very much for your project contributions! I actually using your repo for ComparingScreenshotsOfWebElement and the listed for that one are present.
One thing I forgot to mention in the OP, is that the screenshots seem to work when I run the test cases using Katalon’s UI. However from command line it only seems to work for Windows but not Mac. I am looking further into it today. Will post any results even if it is my own mistake in scripting.

Thanks again!

I finally traced down the issue to webdriver not matching the current chrome browser in Mac OS. After adding “–config -webui.autoUpdateDrivers=true” to the command line script, the “unable to resolve” errors went away and screenshots started working again.