Has anyone used Geb in Katalon Studio?

Hi all,

I was reading about Geb and thought I would like to try it in KS. However, when I tried the simple examples in the Geb tutorials, I get errors. It seems as though I need more imports than the Geb tutorials are showing.

Here is a link to the Geb tutorials and documentation:

http://gebish.org/manual/current/#full-examples

Does anyone have any tips/tricks to get this working in KS?

Thanks!
Russ

(Trigger: I’m taking the “explain it like I’m 5” approach, so if you are tech-savvy… no offense).

I think this is theoretically possible, but I have not managed it myself for all my trying.

You see, in order to operate correctly, WebDriver (for which Geb is but a wrapper) must be the one instantiating the browser.

Thing is, Katalon Studio is also such a wrapper, so when we do a `WebUI.open()` we are calling Katalon’s implementation of WebDriver.

Now, in modern implementation of WebDriver (at least for the most common browsers, i.e. Firefox, Chrome, Safari, Opera, IE11, Edge) you do have the possibility, when instantiating the WebDriver, to call a remote one, supplying connection parameters to the call, making the new instance “recognize”, and take ownership, of an already running browser window…

But for all my Googling and help from the Java devs I work with we couldn’t get the Geb instance to take over.

Also, notice I said the remote call makes the new WebDriver recognize the already open browser window… I’m not entirely sure it can take control of another WebDriver instance.

That would be, after all, like having two drivers for the same car, literally (the word `driver` is right in the name: WebDriver).

So all in all, it might be possible, I’d love to be proven wrong and to be able to incorporate Geb/Selenide/Watir/Name-your-own-WebDriver-implementation-here into Katalon Studio, defering into it when I need finer control than available through Katalon’s DSL (don’t get me started about custom keyword, right?!)

Best hope is the Katalon’s developers come up with some way to interface good WebDriver implementation natively within the product (Geb, Selenide, WATIR? Yes, I know it’s not JVM, that’s why I say “defer into”) (last one was a nasty cough, wasn’t it? :)).

I have ever experienced GEB for several years and I like it very much. If I want to use GEB, then I would do so in the environment of Gradle + Spock + Geb + WebDriver. You can find a running example at:

I wonder why you talk about the combination of Katalon Studio and GEB. It seems to me unnecessary complication.

Thanks for the explanations, guys. Agreed, probably a bad mix.

Russ,

In http://forum.katalon.com/discussion/comment/15747#Comment_15747 I seem to have understood what you thought about. If you are to introduce the Page Object pattern into Katalon Studio (a big leap in mind!) then GEB looks relevant.

I would also think about POM in KS.