Katalon originators designed the “Keywords” folder to be a place where you locate the Groovy source of your Custom Keywords.
They designed the “Include/scripts/groovy” folder to be a place where you locate the source of your Step definitions for Cucumber. Katalon Studio’s GUI is designed so that users would create Cucumber codes in the Include folder, not in the Keywords folder.
So, these 2 folders were originated with different intentions of the Katalon developers how users should use these folders.
However, you can jump over the originators’ intentions. You can add any types of custom Groovy classes in both folders.
Do you want to create your own arbitrary Groovy class in a katalon project? Do you ask us where you should add it: in the “Keywords” folder or “Include/scripts/groovy” folder?
With this respect, there is no difference between the “Keywords” folder and the “Include/scripts/groovy”. A proof is here. In every Katalon project, you will find a file <projectDir>/classpath. It will look something like:
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="src" output="bin/keyword" path="Keywords"/>
<classpathentry kind="src" output="bin/listener" path="Test Listeners"/>
<classpathentry kind="src" output="bin/lib" path="Libs"/>
<classpathentry kind="src" output="bin/groovy" path="Include/scripts/groovy"/>
...
As you can see, both of the “Keywords” folder and the “Include/scripts/groovy” folder are included in the classpath; classes in the both folders are equally available to all your custom code. In this sense, these 2 folders have no difference.