Hello Katalon team,
I would like to propose something that hopefully could be built in if not already.
I have a framework built up that utilizes a lot of custom keywords, but within the keywords browser they are all contained together in a single folder labelled “General”.
I would really like to organize them in a more clean way such as putting all the form handling keywords into a “Form Handlers” folder respectively. It would certainly help with organization of the keywords and the rest of my team when they build keyword driven scripts.
If there’s already a way to do this I would appreciate any info on it!
Well… I wanted to add to the request and did some research to make a good suggestion how this can be handled… And found out it’s already implemented.
When you decompile the “Keyword” annotation it shows you that it has a method:
public abstract java.lang.String keywordObject() default "General";
Since i saw that it defaults to “General”, which is the folder where all custom keywords are placed in… I concluded you could probably use this.
If you include the “keywordObject=…” in your annotation you can at least create a folder structure that is one level deep:
@Keyword(keywordObject = "Test")
Sadly, you can’t implement any folder hierarchy, neither with slash (becomes part of the name) nor with backslash (compile error - unexpected character) nor with escaped backslash ( \\ → see picture, becomes part of the name as well):
Annoyingly, the Keywords Browser only updates when you close and reload the project. It also doesn’t really help you with easier manual test case editing, since the dropdown list for custom keywords still include ALL keywords sorted as if in one folder.
It’s actually quite irritating that none of the developers were able to answer with this information?!
Still, the feature is nearly there, it’s just not finished and thought through. I can’t see how people with hundreds of custom keywords (using the POM) are really productive with the current solution.
Somebody give @d.mellenthin a medal
Thank you so much for looking into this, I can at least start a folder structure in my custom keywords for the time being with your information. Seriously been looking for something for over a year (Nov 6, 2018 was my original posting!)
I wasn’t aware of this, thank for researching. I will note this and escalate to the team.
I guess it’s because “POM People” don’t typically use Manual View so the selection mechanism is not an issue since the Keyword structure in Tests Explorer is organized by Package > class. For them, “us”, it’s a non-issue.
Not an excuse, but a possible reason.
Agreed with @Russ_Thomas ,
My assumption is that most of us are using Katalon via the script view and doing things based around that, i.e. function calls within scripts rather than just using drag & drop keywords. My situation is a little unique because I’m building things via script view and trying to make it as user friendly as possible for non-codecentric testers. They are strictly using the manual view to build and edit scripts, so having something like this is essential to make it a lot easier for them to find the never-ending list of custom keywords that are being built for them.
Also looking further into @d.mellenthin findings, there doesn’t seem to be any rhyme or reason to how the folders are sorted after you start giving keywords that object property. That’ll give me something to do when I finish some grueling manual work
@Tyler_Prada - glad to help
I just started with Katalon and a project to automate our quite complex internal/B2B websites and found custom keyword selection to be a huge pain.
@ThanhTo - Sorry for the potshot at the devs - I know it’s not easy to have everything in mind and it might have been a feature that was intended at some point but has been postponed/canceled. Just were a bit frustrated at that point
@Russ_Thomas - this might be the a reason, true. In my case I’m the developer to create the POM and keywords and want the business people to use them without coding. They could do the same without any custom keywords but that would include far more manual steps and work (I try to aggregate a lot of steps inside single keywords, especially, but not alone, including verification and custom error messages). To make these precise/robust but yet flexible the base steps are still available (setting text fields f.e.) even though they are included in more aggregated steps anyways. In this scenario it becomes hard for the business people to have an overview of everything that’s possible without full knowledge of Katalon / Selenium / UI testautomation
[Edit]: That’s pretty much what @Tyler_Prada described, i somehow looked over that part, sorry.
Katalon Studio 7.6 supports displaying descriptions of Custom Keywords in test cases (same as built-in keywords), organizing Custom Keywords in an alphabetical order in Keyword Browser and categorizing them with
keywordObject as well. Please refer to release notes for more details.