Why does Katalon Recorder fail to record a certain number of steps in Asana?

Before hitting that Ask the Community button, make sure to:

Hi everyone,
I am trying to automate setting up workflows in Asana. To do so, I simply record myself doing the set-up. However, I have noticed that my bot always fails when I try to make a third subtask under my first card. It can make the first two steps every time, but the third step is the problem. I do not understand why this is the case.

These are my steps.

selenium.open("https://app.asana.com/0/1208527008239193/1208527274415874")
selenium.click("xpath=(.//*[normalize-space(text()) and normalize-space(.)='EINGANG'])[1]/following::*[name()='svg'][2]")
selenium.click("xpath=//div[@id='lui_20121']/div/div/span[2]")
selenium.click("xpath=(.//*[normalize-space(text()) and normalize-space(.)='Eine Aufgabe wurde in einen Abschnitt verschoben'])[1]/following::*[name()='svg'][1]")
selenium.click("xpath=(.//*[normalize-space(text()) and normalize-space(.)='Funktioniert mit Aufgaben und Unteraufgaben'])[1]/following::label[1]")
selenium.click("xpath=//div[@id='lui_20302']/div/div/div/div[2]/div/div/div[2]/div/div")
selenium.click("xpath=(.//*[normalize-space(text()) and normalize-space(.)='EINGANG'])[2]/following::span[1]")
selenium.click("xpath=//div[@id='lui_20442']/div/div/div/div[2]/div[4]/div/div[2]/div/div/div[2]/div/span")
selenium.click("xpath=(.//*[normalize-space(text()) and normalize-space(.)='Unteraufgaben erstellen'])[2]/following::p[1]")
/* Katalon Studio does not support: editContent */
selenium.click("xpath=(.//*[normalize-space(text()) and normalize-space(.)='Unteraufgaben erstellen'])[2]/following::div[43]")
selenium.click("xpath=(.//*[normalize-space(text()) and normalize-space(.)='Unteraufgaben erstellen'])[2]/following::p[2]")
/* Katalon Studio does not support: editContent */
selenium.click("xpath=(.//*[normalize-space(text()) and normalize-space(.)='Unteraufgaben erstellen'])[2]/following::div[61]")
selenium.click("xpath=(.//*[normalize-space(text()) and normalize-space(.)='Unteraufgaben erstellen'])[2]/following::p[3]")
/* Katalon Studio does not support: editContent */
selenium.click("xpath=(.//*[normalize-space(text()) and normalize-space(.)='TELEFONAT'])[1]/following::*[name()='svg'][2]")
selenium.click("xpath=//div[@id='lui_21154']/div/div/span[2]")
selenium.click("xpath=(.//*[normalize-space(text()) and normalize-space(.)='TELEFONAT'])[2]/following::label[1]")
selenium.click("xpath=//div[@id='lui_21308']/div/div/div/div[2]/div[4]/div/div[2]/div/div/div[2]/div/span")
selenium.click("xpath=(.//*[normalize-space(text()) and normalize-space(.)='Unteraufgaben erstellen'])[2]/following::p[1]")
/* Katalon Studio does not support: editContent */
selenium.click("xpath=(.//*[normalize-space(text()) and normalize-space(.)='Unteraufgaben erstellen'])[2]/following::div[43]")
selenium.click("xpath=(.//*[normalize-space(text()) and normalize-space(.)='Unteraufgaben erstellen'])[2]/following::p[2]")
/* Katalon Studio does not support: editContent */
selenium.click("xpath=(.//*[normalize-space(text()) and normalize-space(.)='Unteraufgaben erstellen'])[2]/following::div[61]")
selenium.click("xpath=(.//*[normalize-space(text()) and normalize-space(.)='Unteraufgaben erstellen'])[2]/following::p[3]")
/* Katalon Studio does not support: editContent */
selenium.click("xpath=(.//*[normalize-space(text()) and normalize-space(.)='VIDEO-CALL'])[1]/following::*[name()='svg'][2]")

What can I do to fix this?

1 Like

Hi @p.b,

Welcome to our community. Thank you for sharing your issue. I see that you are testing with Selenium. Can you please help share your screen recording so that we can better support?

Thank you

Gladly, and thank you for responding. Here are three Zight recordings that show the bot failing.

Attempt 1

Attempt 2

Attempt 3

Please let me know if there is anything else I can do to describe the situation.

Hi @p.b,

Sorry for my late response. I will ask my team and update with you soon

Hi @Elly_Tran, thank you for your response. I want to clarify the request you made to me: “Thank you for reuploading your issue. Please help follow on the previous thread so that others can follow up better. Thank you”. Did you want me to answer you on this thread, or did you want me to do something else? I am not sure what you meant by “help follow”. Please clarify and I will do it.

Thank you for your response and your help.

Hi,

I just mean please follow up on your issue on this thread. Making 2 threads on the same issue might make people a bit confused and hard to support.

I will ask my team and back to you soon. Thank you

Hi @Elly_Tran,

Did your team help you find the answer yet? I wanted to reply after I waited a week in case you might forget.

Thank you!

Hi,

Sorry for my late response. Your issue seems to be related to editContent when all 3 attempts failed at the editContent step. Can you please double-check your Xpath? And give us your error log for better support. Thank you

Hi @Elly_Tran,
The following steps are flagged as red:

xpath=(.//*[normalize-space(text()) and normalize-space(.)='Unteraufgaben erstellen'])[2]/following::div[66]

and

xpath=(.//*[normalize-space(text()) and normalize-space(.)='Unteraufgaben erstellen'])[2]/following::div[31]

I copied the log out here.

![](chrome-extension://ljdobmomdgdljniojadhoplhkpialdid/panel/icons/add-tag.svg)

||Command|Target|Value| | --- | --- | --- | --- | ||open|https://app.asana.com/0/1208527008239193/1208527274415874||
||click|xpath=(.//[normalize-space(text()) and normalize-space(.)=‘EINGANG’])[1]/following::[name()='svg'][2]||
||click|xpath=//div[@id=‘lui_20121’]/div/div/span[2]|| ||click|xpath=(.//*[normalize-space(text()) and normalize-space(.)='Eine Aufgabe wurde in einen Abschnitt verschoben'])[1]/following::*[name()='svg'][1]|| ||click|xpath=(.//*[normalize-space(text()) and normalize-space(.)='Funktioniert mit Aufgaben und Unteraufgaben'])[1]/following::label[1]|| ||click|xpath=//div[@id='lui_20302']/div/div/div/div[2]/div/div/div[2]/div/div|| ||click|xpath=(.//*[normalize-space(text()) and normalize-space(.)='EINGANG'])[2]/following::span[1]|| ||click|xpath=//div[@id='lui_20442']/div/div/div/div[2]/div[4]/div/div[2]/div/div/div[2]/div/span|| ||click|xpath=(.//*[normalize-space(text()) and normalize-space(.)='Unteraufgaben erstellen'])[2]/following::p[1]|| ||editContent|xpath=(.//*[normalize-space(text()) and normalize-space(.)='Unteraufgaben erstellen'])[2]/following::div[31]|Step 1| ||click|xpath=(.//*[normalize-space(text()) and normalize-space(.)='Unteraufgaben erstellen'])[2]/following::div[43]|| ||click|xpath=(.//*[normalize-space(text()) and normalize-space(.)='Unteraufgaben erstellen'])[2]/following::p[2]|| ||editContent|xpath=(.//*[normalize-space(text()) and normalize-space(.)='Unteraufgaben erstellen'])[2]/following::div[49]|Step 2| ||click|xpath=(.//*[normalize-space(text()) and normalize-space(.)='Unteraufgaben erstellen'])[2]/following::div[61]|| ||click|xpath=(.//*[normalize-space(text()) and normalize-space(.)='Unteraufgaben erstellen'])[2]/following::p[3]|| ||editContent|xpath=(.//*[normalize-space(text()) and normalize-space(.)='Unteraufgaben erstellen'])[2]/following::div[66]|sTEP 3| ||click|xpath=(.//*[normalize-space(text()) and normalize-space(.)='TELEFONAT'])[1]/following::*[name()='svg'][2]|| ||click|xpath=//div[@id='lui_21154']/div/div/span[2]|| ||click|xpath=(.//*[normalize-space(text()) and normalize-space(.)='TELEFONAT'])[2]/following::label[1]|| ||click|xpath=//div[@id='lui_21308']/div/div/div/div[2]/div[4]/div/div[2]/div/div/div[2]/div/span|| ||click|xpath=(.//*[normalize-space(text()) and normalize-space(.)='Unteraufgaben erstellen'])[2]/following::p[1]|| ||editContent|xpath=(.//*[normalize-space(text()) and normalize-space(.)='Unteraufgaben erstellen'])[2]/following::div[31]|sTEP 1| ||click|xpath=(.//*[normalize-space(text()) and normalize-space(.)='Unteraufgaben erstellen'])[2]/following::div[43]|| ||click|xpath=(.//*[normalize-space(text()) and normalize-space(.)='Unteraufgaben erstellen'])[2]/following::p[2]|| ||editContent|xpath=(.//*[normalize-space(text()) and normalize-space(.)='Unteraufgaben erstellen'])[2]/following::div[49]|sTEP 2| ||click|xpath=(.//*[normalize-space(text()) and normalize-space(.)='Unteraufgaben erstellen'])[2]/following::div[61]|| ||click|xpath=(.//*[normalize-space(text()) and normalize-space(.)='Unteraufgaben erstellen'])[2]/following::p[3]|| ||editContent|xpath=(.//*[normalize-space(text()) and normalize-space(.)='Unteraufgaben erstellen'])[2]/following::div[66]|STEP 3| ||click|xpath=(.//*[normalize-space(text()) and normalize-space(.)='VIDEO-CALL'])[1]/following::*[name()='svg'][2]||

![](chrome-extension://ljdobmomdgdljniojadhoplhkpialdid/panel/icons/add-tag.svg)

Command Target Value
open https://app.asana.com/0/1208527008239193/1208527274415874
click xpath=(.//[normalize-space(text()) and normalize-space(.)=‘EINGANG’])[1]/following::`[name()=‘svg’][2]
click xpath=//div[@id=‘lui_20121’]/div/div/span[2]
click xpath=(.//[normalize-space(text()) and normalize-space(.)=‘Eine Aufgabe wurde in einen Abschnitt verschoben’])[1]/following::[name()=‘svg’][1]
click xpath=(.//*[normalize-space(text()) and normalize-space(.)=‘Funktioniert mit Aufgaben und Unteraufgaben’])[1]/following::label[1]
click xpath=//div[@id=‘lui_20302’]/div/div/div/div[2]/div/div/div[2]/div/div
click xpath=(.//*[normalize-space(text()) and normalize-space(.)=‘EINGANG’])[2]/following::span[1]
click xpath=//div[@id=‘lui_20442’]/div/div/div/div[2]/div[4]/div/div[2]/div/div/div[2]/div/span
click xpath=(.//*[normalize-space(text()) and normalize-space(.)=‘Unteraufgaben erstellen’])[2]/following::p[1]
editContent xpath=(.//*[normalize-space(text()) and normalize-space(.)=‘Unteraufgaben erstellen’])[2]/following::div[31] Step 1
click xpath=(.//*[normalize-space(text()) and normalize-space(.)=‘Unteraufgaben erstellen’])[2]/following::div[43]
click xpath=(.//*[normalize-space(text()) and normalize-space(.)=‘Unteraufgaben erstellen’])[2]/following::p[2]
editContent xpath=(.//*[normalize-space(text()) and normalize-space(.)=‘Unteraufgaben erstellen’])[2]/following::div[49] Step 2
click xpath=(.//*[normalize-space(text()) and normalize-space(.)=‘Unteraufgaben erstellen’])[2]/following::div[61]
click xpath=(.//*[normalize-space(text()) and normalize-space(.)=‘Unteraufgaben erstellen’])[2]/following::p[3]
editContent xpath=(.//*[normalize-space(text()) and normalize-space(.)=‘Unteraufgaben erstellen’])[2]/following::div[66] sTEP 3
click xpath=(.//[normalize-space(text()) and normalize-space(.)=‘TELEFONAT’])[1]/following::[name()=‘svg’][2]
click xpath=//div[@id=‘lui_21154’]/div/div/span[2]
click xpath=(.//*[normalize-space(text()) and normalize-space(.)=‘TELEFONAT’])[2]/following::label[1]
click xpath=//div[@id=‘lui_21308’]/div/div/div/div[2]/div[4]/div/div[2]/div/div/div[2]/div/span
click xpath=(.//*[normalize-space(text()) and normalize-space(.)=‘Unteraufgaben erstellen’])[2]/following::p[1]
editContent xpath=(.//*[normalize-space(text()) and normalize-space(.)=‘Unteraufgaben erstellen’])[2]/following::div[31] sTEP 1
click xpath=(.//*[normalize-space(text()) and normalize-space(.)=‘Unteraufgaben erstellen’])[2]/following::div[43]
click xpath=(.//*[normalize-space(text()) and normalize-space(.)=‘Unteraufgaben erstellen’])[2]/following::p[2]
editContent xpath=(.//*[normalize-space(text()) and normalize-space(.)=‘Unteraufgaben erstellen’])[2]/following::div[49] sTEP 2
click xpath=(.//*[normalize-space(text()) and normalize-space(.)=‘Unteraufgaben erstellen’])[2]/following::div[61]
click xpath=(.//*[normalize-space(text()) and normalize-space(.)=‘Unteraufgaben erstellen’])[2]/following::p[3]
editContent xpath=(.//*[normalize-space(text()) and normalize-space(.)=‘Unteraufgaben erstellen’])[2]/following::div[66] STEP 3
click xpath=(.//[normalize-space(text()) and normalize-space(.)=‘VIDEO-CALL’])[1]/following::[name()=‘svg’][2]

Is there a better way to give you my error log? This is using the browser extension.

Thanks!

Hi,

Is this the error log you copied from “Log” tab? Have you tried manually edit the content on the XPath

and successfully?

Hi,
that is the error log from the Log tab. I am not sure what I should edit the content on the XPath to be.

The structure of the error XPath is the same as the XPaths that work, except the error XPath has div[66]. As I understand, the div indicates where on a page the cursor or the element should be. How can I fix that, and how can I know what I should edit the XPath to be?

I also want to understand why the Katalon recording of the Asana set up captures the first two steps fine, but fails on the third step. The three buttons I click are not very different, so what would be causing the problem?

xpath=(.//*[normalize-space(text()) and normalize-space(.)=‘Unteraufgaben erstellen’])[2]/following::div[66]

Hi @Elly_Tran

Do you need further information about the XPath or the error log? I wanted to reopen this thread since we did not yet come to a solution.

Thank you for your help so far!

The “pathway” is based on the HTML, so that is what we would need to see to check what pathway you are using and what it “should” be.

You can check the pathway yourself if you right click on the object of the browser application and choose “Inspect” from the pop-up. If you right click a second time on the object and select “Inspect” again, the specific Object’s HTML will display. If you hit CTRL + F in the HTML area, then the Find text box displays. Copy and paste the pathway into the Find box and you should see 1 of 1 appear on the right-hand side of the Find box. Anything else and you have issues with the pathway. If you get 0 of 0, that means the pathway is wrong. If you get 1 of xx, that means your pathway is not unique.

If the “Inspect” does not show in the pop-up, then hit the F12 key and choose, Open DevTools. The first tool on the top left can be used to “Inspect” each object.

Try that and see if your pathways returns an unique pathway for your object.

Here is what I saw for the HTML of the specific button “Unteraufgabe hinzufügen”. Bewerbermanagement - Asana ...

Ok, this is what I found when I clicked Inspect on the page and then Inspect a SECOND time on the button for Unteraufgabe hinzufügen. What do I do now? I am not quite sure what to do. I searched in the HTML for the faulty XPath, which is this: xpath=(.//*[normalize-space(text()) and normalize-space(.)=‘Unteraufgaben erstellen’])[2]/following::div[66]

and found 0 of 0. Bewerbermanagement - Asana ...

I then searched for //div[@role=‘button’ and contains(@class, ‘ButtonThemeablePresentation–isEnabled’) and contains(text(), ‘Unteraufgabe hinzufügen’)] and I found it in the HTML, so 1 of 1.

I am not sure what to do. As I understand, getting 1 of 1 means this pathway is unique, so why does my bot not recognize it? What do I do to fix my bot?

Shared with Zight

Here is the code.
<div role="button" aria-disabled="false" tabindex="0" class="ButtonThemeablePresentation--isEnabled ButtonThemeablePresentation ButtonThemeablePresentation–medium ButtonSubtlePresentation ButtonSubtlePresentation--sentimentDefault ButtonSubtlePresentation--enabled SubtleButton Stack Stack–align-center Stack–direction-row Stack–display-inline Stack–justify-center"> <svg class="MiniIcon ButtonThemeablePresentation-leftIcon TemplateTaskRecipeSubtaskList-addSubtaskIcon PlusMiniIcon" viewBox=“0 0 24 24” aria-hidden=“true” focusable=“false”> <path d="M10,10V4c0-1.1,0.9-2,2-2s2,0.9,2,2v6h6c1.1,0,2,0.9,2,2s-0.9,2-2,2h-6v6c0,1.1-0.9,2-2,2s-2-0.9-2-2v-6H4c-1.1,0-2-0.9-2-2s0.9-2,2-2H10z"> Unteraufgabe hinzufügen

This is not an application that is nice to Testers, as there are not “unique” identifiers in the attributes. Having to rely on a pathway like .../div[66]. YIKES.

Unfortunately, your final code did not “survive” being copied to this forum, as the structure got lost. You should put 3 backticks, like ```, on a line by themselves above your code and another set of 3 backticks on a line by themselves below your code.

However, maybe you can replace the .../div[66] with:

xpath=//*[text()='Unteraufgabe hinzufĂźgen']/preceding::div[1]

What the above does is find the text, “Unteraufgabe hinzufügen”, which was in your code, and then looks up the chain to find the first <div>. You might also try:

xpath=//*[text()='Unteraufgabe hinzufĂźgen']/ancestor::div[1]

or even:

xpath=//*[normalize-space(text()) and normalize-space(.)='Unteraufgabe hinzufĂźgen']/parent::div[1]

Hi and thanks.

Here is the code ● Bewerbermanagement - Asan...

I tried copying it with the apostrophes, but it did not retain the structure.

I tried replacing my div 66 with yours, but they did not work.

Alternatively, is there a tool for Mac with which I can simply record myself doing a thing and then a bot does that thing? I found Katalon because it is one of the few tools on Mac that claims to do that.

I agree with @grylion54. The web page is too difficult to automate using WebDriver-based tools.

You asked “Why does Katalon Recorder fail to …”. In my humble opinion, this is not the way you should think. This web page is not designed to be automate-able; only human can comfortably operate it.

If I were asked to do that job, I would refrain from any Browser-automation tools like Katalon Recorder. On the other hand, I found that Asana provides a RESTful API :

The Asana API is a RESTful interface, providing programmatic access to much of the data in the system. It provides predictable URLs for accessing resources, and uses built-in HTTP features to receive commands and return responses. This makes it easy to communicate from a wide variety of environments: apps, command-line utilities, gadgets, and even the browser URL bar itself.

@p.b

I would recommend you have a look into to the Asana API explorer.

The WebService Testing feature of Katalon Studio may help you write a set of codes that automates setting up workflow in Asana. How to use Katalon Studio’s WS feature? See the following article for example

In order to write code in Katalon Stuido, you are supposed to be skilled for Java/Groovy programming.

To drive RESTful APIs, there are a lot of other platforms. Many people use Postman. Or Playwright might be another candidate. These tools require you to be skilled for JavaScript/TypeScript programming.

Which tool to use? — It would depend on which programming language you prefer; how much you are skilled for programming.

1 Like

Hi there, and thanks for posting in the Katalon community! :hugs:

To help you faster, please review our guide on Katalon Recorder here: Katalon Recorder overview | Katalon Docs. Double-checking the steps and configurations might resolve the issue.

If the doc doesn’t help, feel free to provide more details, and a community member will assist you soon. Thanks for being a part of our community!

Best,
Albert Le

For future reference, NOT the apostrophes but backticks–found on the same key as the tildè on the far-left side of keyboard beside the 1 key (with exclamation mark).

like this: