Katalon Studio's built-in Keywords is now open source for community contribution

Hi everyone,

We are excited to announce that Katalon Studio’s built-in Keywords is now open-source for community contribution. The repository is located at https://github.com/katalon-studio/keywords.

Some documentation is still a work-in-progress, and we are looking forward to your feedback and ideas.

Other components of the Katalon platform will become open-source in the future. Stay tuned!

Thank you all for being a part of the Katalon Community!

Cheers,
Alex

15 Likes

+ Following.

1 Like

This is great news, I very much appreciate it!
Thank you for this decision!

2 Likes

+ cool

2 Likes

Alex,

I had a quick look at https://github.com/katalon-studio/keywords

I found the Groovy source of keywords but I could not find any unit tests for them. I expected to find unit test on JUnit or Spock, but none.

I can not believe Katalon team has developed those keywords WITHOUT UNIT TESTING. How did you do that?

I do not think I can enhance or do bug fixing for this project because it lacks pre-built unit tests. I would just read the source and understand them, that’s all I can do with it.

Alex,

I am not satisfied with Katalon Studio in that it does not provide built-in support for developing custom keywords with unit tests backed by JUnit (or better Spock).

I have ever struggled and found a way to do unit testing for custom keywords using JUnit inside Katalon Studio at

The way works but too complicated to explain to others how to follow.

I hope Katalon Studio provide built-in support for unit testing by JUnit or Spock for both of Built-in and Custom Keywords.

1 Like

Pretty cool !
@kazurayam, I agree: it lacks of unit tests. But the readme page is explicitely asking for demonstrating test-case, validating the new keyword commited. If it’s not enough for debugging, it still is a good guardrail.

This is great !!

Thank you for the feedback. I will follow up with you in the other topic.

Regarding open source Katalon Studio’s current JUnit test cases, there are references to classes in closed source components so we cannot publish them now. But we surely will keep this request in our to-do list.

I understand it.

We need some mechanism which help us resolve the external dependencies automatically and 100% precisely. I quite often dream of a scene where a Katalon Studio project is drastically restructured to be a Gradle project in Eclipse. Gradle provides the state of the art of external dependencies resolution.

Do you mean, for example, com.kms.katalon.core.configuration.RunConfiguration as a closed source component?

Ok, you do not need to distribute them in a source format. You can compile them into binary format and archive into a jar file. Then the keyword project will depend on the katalon-closed-source.jar; that’s all.

Here I assume you have at least 2 distinct source trees — a project for kms-closed-source, and a project for kms-open-source.

1 Like

We had a utility (a Gradle plugin, to be exact) for resolving external dependencies here:

There is one sample on how to use it:

I’ll add a tutorial to Tips and Tricks. Although, I hope the repository’s README and the sample are clear enough to follow.

2 Likes

I tried to use com.katalon.gradle-plugin in order to use AWS SDK for Java in Katalon Studio.

It worked well

2 Likes

I’ve read your new tutorial. It was really well written - thank you so much for your kindness!

To those who happened to see this topic:

GitHub - katalon-studio/katalon-studio-testing-framework: Katalon Studio Open-source Testing Framework is not necessarily up to date.

At July 2023, the repository contains the source of v8.0.5 while the latest version is 8.6.5.

By the way, each version of Katalon Studio bundles the source code archieved in jar files. For example, Katalon Studio v8.3.0 on my MacBook has the following files:

$ pwd
/Applications/Katalon Studio.app/Contents/Eclipse/configuration/resources/source
:/Applications/Katalon Studio.app/Contents/Eclipse/configuration/resources/source
$ tree .
.
├── com.kms.katalon.core.cucumber
│   └── com.kms.katalon.core.cucumber-sources.jar
├── com.kms.katalon.core.mobile
│   └── com.kms.katalon.core.mobile-sources.jar
├── com.kms.katalon.core.testng
│   └── com.kms.katalon.core.testng-sources.jar
├── com.kms.katalon.core.webservice
│   └── com.kms.katalon.core.webservice-sources.jar
├── com.kms.katalon.core.webui
│   └── com.kms.katalon.core.webui-sources.jar
└── com.kms.katalon.core.windows
    └── com.kms.katalon.core.windows-sources.jar

7 directories, 6 files

You can unjar those jar files. Then you can see the sources of the exact version you have.