Exciting discussion about this POM thing. Even if the need for such a felt large overhead (apart from the advantages for variable management) is unfortunately not yet quite clear to me. Or is there much more in these page-dependent keyword files, except variable definitions?
I now understand that one way to avoid the need for manual configuration of global variables might be to extend classes. So your hierarchy, Russ, that someone could follow is:
Common class (is this also a Groovy keyword file or to import from jar file as external library?) => basePage class (is this also a Groovy keyword file or to import from jar file as external library?) => page class (Groovy keyword file) -> Test Case classWhere in this hierarchy do the utility classes and the Test Listeners come into play? And how can these be integrated/imported?
But don’t these dependencies also lead to disadvantages when using the manual test case mode? I know you’re not using it, Russ. But I would hate to do without it completely.
I also find it interesting that you apparently put all the test steps into a try-catch construct. I already had this idea too, but I wasn’t sure if this would be necessary at all in Katalon Studio (or only in your case because of the POM class extensions) to be able to determine the origin of a test error during the script runtime and not only from the logs received afterwards.
Thanks you both, once again!