Calling Another TestCase in Katalon Studio

One of the many great features of Katalon Studio, is the ability to call other test cases using the CallTestCase command.

This would make the test case act like a procedure, where it can be called to execute a series of steps, then return to the main program after the work is done.
This means the automation code can be more modular, more dynamic and with the right planning, far more code can be reusable.
I’ve started to bring this into my own tests as seen by the example of reading the tabs of the customer profile. Here is another example to toggle the status of a user.
I made two test cases, one to “lock” a user and another to “unlock” a user. I can then read the text of the button and call to the appropriate test case.

//Call the appropriate function to toggle the status of the user
if (buttonText == 'Unlock') {
log.logWarning('Budget is Locked, running Unlock code')
WebUI.callTestCase(findTestCase('Admin Tasks/Unlock User'), [:], FailureHandling.STOP_ON_FAILURE)
} else {
log.logWarning('Budget is Unlocked, running Lock code')
WebUI.callTestCase(findTestCase('Admin Tasks/Lock User'), [:], FailureHandling.STOP_ON_FAILURE)
}

A test case can also take parameters when it’s called. If you had another test case that acted on a Name and ID, those would be passed as part of the command:

WebUI.callTestCase(findTestCase('Tasks/LogNameAndID'), [('userID') : '1091504 ', ('userName') : 'Bob Smith'], FailureHandling.STOP_ON_FAILURE)

By using CallTestCase, test cases can be called when needed, not just in a linear fashion. This means they can react to what’s on the page and skip over tests that aren’t applicable. A test can be written once and used multiple times.
As another example, I have a contact generation test case. We have several Contact forms and instead of putting the same text in over an over again, I created a test case that uses Lists, text parsing and random numbers to generate a somewhat unique user details.
I have a list for first names, last names, company and state. I use random numbers for the zip, phone, and street number. When called, a name, address, phone, etc are generated and assigned to the Global Variables I have defined for the project.
It would have code like the following:

def states=['AL','AK','AZ']
def cities=['Dentsville','Woodcreek','Las Lomitas']
//Generate phone number
areaCode=Math.abs(new Random().nextInt(799)) + 200;
numPrefix=Math.abs(new Random().nextInt(899)) + 100;
numSuffix=Math.abs(new Random().nextInt(9000)) + 1000;
GlobalVariable.phoneNumber=String.valueOf(areaCode) + String.valueOf(numPrefix) + String.valueOf(numSuffix)
//Create an email address from first name, last name and company name
tempEmailAddress=firstName+'.'+lastName+'@'+domainName
GlobalVariable.emailAddress=tempEmailAddress.toLowerCase()
//Pick a city
rndCity=Math.abs(new Random().nextInt(cities.size()));
GlobalVariable.cityName=cities[rndCity]

To create a new user, I call the Contact Generation test case then set the text of the input fields to the values of the variables. It works quite nicely.
As time goes by, I will try to use the CallTestCase more frequently and work to my test cases more modular. It’s already starting to happen in a couple of places and it’s a very powerful tool.

Other articles of interest:

Leave a Reply

Your email address will not be published. Required fields are marked *

Recent Comments
  • A Try Catch example in Katalon Studio (3)
    • Venkatesh: Hi Don Pedro Can you share me sample project ….which consist of basic to advanced stuff…If your github or gitlab url aso present please share… As I am beginer to this I need to learn lot
    • Don Pedro: Hi Lucas. Thank you for the kind comments. I would be happy to help. Let me know how I could be of assistance.
    • Lucas: Thanks for sharing a lot of Katalon tips and tricks. The Katalon team highly appreciate your support and feedback. To make Katalon Studio better and be the best free automation solution for testing community, we wish to coordinate...
  • How To Disable the Quicken Registration Prompt (13)
    • Neil Murphy: I discovered that early on. I’m using 2001.
    • Jeremy: Thank you so so so much. I am still using Quicken 2010 because Intuit didn’t want to properly support users abroad anymore (never mind that they only link to US banks for transaction downloads; they didn’t want my...
    • Richard: I have Quicken 2016 Home & Business and when I use Shift + CTRL I can’t see any Tools option; All I can see is the original menu items of File & About. Might you be able to offer any advice?
    • Jack Woltz: Worked great but now I get update nag which is worse
  • Securely storing passwords and login details with Set Encrypted Text in Katalon Studio (1)
    • Agus: Hi Don, Is there a way to set the encrypted text to be used in the ‘WebUI.authenticate̵ 7; method? Basically I am trying to encrypt the password that is passed to the ‘WebUI.authenticate̵ 7; method. Thank you.
  • Katalon Studio – Manual View – The start of a test script (2)
    • ben: Hello Don Great Website. Keep up the work. I learnt a lot. cheers Ben.
    • Lucas: Hi Don Pedro, Thanks for sharing a lot of great articles related to Katalon Studio and Selenium. I am Lucas from Katalon team. From your point of view, we’ve learnt alot to improve our product and add more valuable features...
  • Another success with Katalon Studio (1)
    • Mahesh Joshi: Hi Don, I just started following your blog in regards to katalon. I want to introduce katalon studio at my work we do manual testing at work at the moment. What approach I should use for proof of concept with katalon for...
  • What went wrong with Crime City? (34)
    • G D: One thing I have noticed is the awkwardness of items and the attack points and how you can earn them. I was pretty pathetic with attack points and then I played that limited time boss and got weapons that had attack points in the...
  • Disable the Quicken 2012 Registration Prompt (1)
    • Scott: Thanks this worked great and is better then having to upgrade to a subscription!
  • Time to throw away Freemake (1)
    • Rob Crombie: Which program are you using instead, now ?
  • How To Download Movies From Hulu Using Freemake Video Downloader (1)
    • Doomups: I often use allavsoft to download Videos from Hulu on Mac and Windows. And it also can batch and Direclty Download Hulu Videos to MP4, WMV, MOV, AVI, FLV, etc.