[Studio] Katalon Web Recorder doesn't work properly

Katalon recording doesn’t work properly. Basically, when there are 2 (or more) elements with the same text, it’s just recording the 1st test object (appending that text to the name of the text object) and then it’s just reusing that element instead of recording the next one, which is totally wrong and very annoying. It’s also very surprising since correct recording is supposed to be one the essential features of Katalon.

1 Like

You shouldn’t expect too much of service from the tools.

The Web Recording tool of Katalon Studio generated a Test Object with a name, for example, “The Same Text” for you, right?

Then you can easily manually copy the Test Object to create another one with different name.

Isn’t it enough?

Sure, I can. It’s just that Katalon is expected to record it correctly in the first place. Why should Katlaon’s users waste their time and efforts on fixing something that’s advertised as working “out of the box” by Katalon (and pay $2,100 for a license in the process)?

Anyhow, hey Katalon! Are you going to fix it or not?

Hi there Greg, :wave:

Thank you for letting us and other members know about this issue, and we are sorry to hear that it has negatively affected your experience with Studio.

I will loop my colleagues @xuan.tran and @philipB here so they can support you better (if needed).

If possible, can you provide us with a screenshot/video recording and/or steps to reproduce the issue?

Thanks,
Albert

1 Like

@gdearest07 What version of Studio are you on?

Hi there,

Thank you very much for your topic. Please note that it may take a little while before a member of our community or from Katalon team responds to you.

Thanks!

@gdearest07 I took a look at the code on our side - we’re hashing the properties of the object to detect duplicates.

Currently we’re using the following for the hash: tag, text, id, src, href as of 8.6.0

A support engineer will be following up through a case to maintain privacy and collect more details. I would like to see what the locator we generated looks like and the src code for the object.

1 Like

Hi @albert.vu and @philipB ,

Thank you for your replies.

  1. Currently, I’m running Version 9.6.0 Build 217 but I’ve seen the same issue in the previous versions as well.

  2. The screenshots:
    1))


    2))

3))


4))

So, in 1) and 3) you can see the test objects (div_Other, div_2024) recorded on Page1 that were wrongly reused by the Recorder while recording on Page 2. In 2), 4) you can see the different test objects (div_Other, div_2024) separately recorded on Page 2 (i.e. w/o going to Page 1 first)

I hope that’s enough for the professionals such as yourselves to figure out why the Recorder doesn’t work properly.

  1. By the way, why are you doing this? Why do you need to detect duplicates? Could it be that somehow you are using just the text to detect duplicates? From my unprofessional point of view, that’s what might prevent the Recorder from working properly.

  1. Another hypothetical explanation: The Recorder uses the text (e.g. Other) for the 1st test object’s name (e.g. div_Other), then it does the same for the 2nd test object with the same text (Otherdiv_Other), and since the object with the name div_Other alredy exists, the Recorder just reuses the 1st object instead of using the 2nd object.

I forwarded it to my team to see if our scheduled fix in 9.7.0 for a similar issue would cover this use case as well.

Our duplicate check is to reduce maintenance if you ever update the locators. Better to update in one place than many. However, our duplication check is when we save the object, not during the recording so I don’t think that’s the issue here.

2 Likes

Thank you, @philipB.

Taking into consideration the information you provided, could it be the combination of 3. and 4. from my previous message? The Recorder makes a duplication check when it saves the object but somehow it uses just the text to detect duplicates. As a result, the Recorder ''thinks" that the 2nd object is a duplicate and it just reuses the 1st object instead of using the 2nd object.

1 Like