info@brightest.be
+32 3 450 88 42

Technical Thursday

Katalon Studio Enterprise: “Selenium with a GUI on top of it”

Posted by: Eva
Category: Test automation
Katalon Studio Enterprise, KSE, is an automation tool developed by Katalon Inc and initially released in 2015. It’s a licensed software built on top of the well-known open-source framework Selenium. This article mainly focuses on Web Automation. It will briefly handle the pros and cons of using Katalon in a web environment. Although, the tool also offers options to automate Mobile, API’s and Desktop applications.

 

Katalon studio enterprise

In a nutshell

KSE is a GUI oriented tool with built in features such as recording scenarios, object-spy, self-healing, integrated CI/CD and so on. It has a fixed project structure of folders which you cannot change, meaning you will find your way in every Katalon project. These points make Katalon an easy start for QA engineers with a less technical background. More experienced testers have the possibility to make their own scripts in groovy language, making it also a valuable option for them.

Usage

Creating testcases

Creating test cases in Katalon can be done in 3 ways. The first way is by recording a scenario through the web recorder. When you are done recording, the scenario is translated to test objects and web actions. The second way is by doing the same steps, but manually through the GUI. Lastly, you can also create test cases by scripting, which is in groovy language. You can also use scripting to build your own custom keywords, POM, utils… etc.

Keywords

Web actions in Katalon are named keywords. KSE has a pre-built set of keywords to simplify the creation of test cases. If this set of keywords is not sufficient for your project, Katalon offers the possibility to create your own custom keywords. These custom keywords are as well accessible through the GUI, making it again easier for the less technical testers to use.

Object repository

As just said, when recording scenarios, Katalon wraps selectors of elements into test objects. These objects can contain multiple types of information; xpath, css, attributes and images. Depending on how much information has been put into it, the self-healing of Katalon will enable the script to keep on running, even if the front-end had some changes. This reduces the number of flaky tests.

Test suites & CI/CD

Once you’re done with writing your test case, you can incorporate it in a test suite which is directly linked to the CI/CD tool of Katalon: TestOps. TestOps contains multiple tools, such as scheduling, reporting, monitoring your test, Jira integration… etc.

 Smart wait

One of today’s challenges for automating web applications, is waiting for the web elements to be loaded on the page. Web applications are evolving every day, by becoming more and more asynchronous. Katalon offers a built-in feature, named “Smart Wait”. This feature enables automatic waiting for web elements, reducing the number of failing tests.

The pros & cons

Every program has it plus sides and downsides. So, what exactly are the plus sides of Katalon? Why should or shouldn’t you use it?

Pros

  • KSE is easy to setup. You don’t have to worry about maintaining drivers because Katalon does that for you.
  • It’s easy and quick to setup a test with the test recorder.
  • If the application you’re testing undergoes a small change, the self-healing of Katalon will easily work around this. Afterwards you can apply the newly changed test objects.
  • The Smart wait of Katalon will help reduce the number of flaky tests.
  • TestOps is an all-in-one CI/CD solution and removes the need of third-party solutions such as Jenkins.

Cons

  • The free-trial version of Katalon has very limited options. Without the paid version, you can better choose another automation tool.
  • The smart wait of Katalon makes your tests slower. It’s better to write your own custom keywords to handle waits.
  • Reusing test cases in other test cases can be difficult to maintain. The biggest issue is that if you change or add a variable in a test case, the changes will not be reflected in the test cases it is used. You will have to manually check every test case to update your code.
  • Katalon has performance issues. If you have too many custom keywords open, it won’t take long before KSE crashes.
  • KSE only allows groovy language.

Conclusion

The pros and cons taken into account we can conclude that KSE is good to use within smaller or medium organizations to quickly setup tests. TestOps removes the need of a third-party CI/CD tool. For bigger organizations with for example ERP applications, it will be more difficult to maintain. Due to variables not automatically updating, the way test object recognition works and lastly due to the performance issues when the project grows.

Written by Jarno Hermans and Ivan Viera Valdes