Broken goto (gotoIf, gotoLabel) + unexpected influence of different test suites on each other

Hello,

Katalon Recorder 5.5.3
Google Chrome, Version 92.0.4515.159 (Official Build) (64-bit)
Play speed in KR – maximum fast
Microsoft Windows 8.1 64-bit, Windows Server 2012 R2 Standard

The text is divided into 2 parts:

Part 1. Broken goto

  1. Test suite “error_goto00” (gotoIf)
  2. Test suite “error_goto01” (gotoLabel)
  3. Test suite “error_goto00b” (input for gotoIf)

Part 2. Unexpected influence

Part 1. Broken goto

Goto doesn't work (doesn't skip commands) when the label is below it. Goto works when the label is higher.

Test suite “error_goto00”

Reproduction requirements: 1) remove all test suites from workspace (without saving),
  1. close Katalon Recorder (close the window of this extension),

  2. reopen Katalon Recorder,

  3. add one (and only one) test suite (using “open test suite”),

  4. Play Suite.

error_goto00.html (1.4 KB)

label | start | 
open | https://www.katalon.com/ | 
pause |  | 5500
storeEval | false | varTest
gotoIf | varTest==false | next
gotoLabel | start | 
label | next | 
click | xpath=//body[@id='page-top']/div[5]/div/div[2]/a/div | 

Expected Behavior:
The test must run 1 time. As a result of the test, the page https://www.katalon.com should open, and then after a pause and a successful check for the fulfillment of the condition, a pop-up window should open (simulation of pressing a button “Contact Sales” using “click”).


Actual Behavior:
gotoIf does not skip the command below (“gotoLabel”): pop-up does not open, there is a jump to the label “start”

Test suite “error_goto01”

gotoLabel does not skip the command below

Reproduction requirements:

  1. remove all test suites from workspace (without saving),

  2. close Katalon Recorder (close the window of this extension),

  3. reopen Katalon Recorder,

  4. add one (and only one) test suite (using “open test suite”),

  5. Play Suite.

error_goto01.html (1.2 KB)

label | start | 
open | https://www.katalon.com/ | 
pause |  | 5500
gotoLabel | next | 
gotoLabel | start | 
label | next | 
click | xpath=//body[@id='page-top']/div[5]/div/div[2]/a/div | 

Expected Behavior:
The same as in the case of “error_goto00”

Actual Behavior:
The same as in the case of “error_goto00”

Test suite “error_goto00b”

To check that the problem is not related to the input gotoIf and that the gotoIf correctly checks if the condition is true. Reproduction requirements are the same as before.

error_goto00b.html (1.2 KB)

label | start | 
open | https://www.katalon.com/ | 
pause |  | 5500
storeEval | false | varTest
gotoIf | varTest==false | start
click | xpath=//body[@id='page-top']/div[5]/div/div[2]/a/div | 

Expected and actual behavior is the same.

Part 2. Unexpected influence of different test suites on each other

After executing one test suite, the other test suite changes its behavior. Also, if we only opened one test suite and then removed and added it again (without restarting Katalon Recorder), it will change its behavior too.

Case 1.

Requirements for reproduction:

  1. remove all past test suites from workspace (without saving),

  2. close Katalon Recorder (close the window of this extension),

  3. reopen Katalon Recorder,

  4. open “error_goto00”,

  5. Play Suite, we see the same actual behavior as before,

  6. Press Stop,

  7. Nuances: this time we are not deleting any test suites, we are not closing Katalon Recorder,

  8. we open another test suite - “error_goto01”, as a result, we have added 2 test suites,

  9. “Play Suite” for “error_goto01”,

  10. as a result, we see that the behavior of “error_goto01” has changed (compared to the behavior in the first part): the test was executed once, a pop-up window was opened,

  11. select “error_goto00” again, Play Suite, as a result, its behavior has not changed

Case 2.

Requirements for reproduction:

  1. remove all past test suites from workspace (without saving),

  2. close Katalon Recorder (close the window of this extension),

  3. reopen Katalon Recorder,

  4. open “error_goto00”,

  5. Play Suite, we see the same actual behavior as before,

  6. Press Stop,

  7. remove all past test suites from workspace (without saving),

  8. do not close Katalon Recorder this time,

  9. open “error_goto00” again,

  10. “Play Suite” for “error_goto00”,

  11. as a result, we see that the behavior of “error_goto00” has changed (compared to the behavior in the first part): the test was executed once, a pop-up window was opened,

Case 3.

Same as Case 1 in Part 2, but here instead of “error_goto01” we use “error_goto01b”. Error_goto01b differs from error_goto01 only in that we added a gotoLabel to the end to jump to the label “start”.


error_goto01b.html (1.3 KB)

label | start | 
open | https://www.katalon.com/ | 
pause |  | 5500
gotoLabel | next | 
gotoLabel | start | 
label | next | 
click | xpath=//body[@id='page-top']/div[5]/div/div[2]/a/div | 
gotoLabel | start | 

Expected Behavior:
As a result of the test, the page https://www.katalon.com should open, and then after a pause and a successful check for the fulfillment of the condition, a pop-up window should open (simulation of pressing a button “Contact Sales” using “click”), then everything has to repeat itself (loop).

Actual Behavior:
Same as case 1 in part 2, but goto now doesn’t work when the label is higher.

1 Like

Thank you for your report, this issue will be fixed in the next release.

2 Likes

Nice, thorough report. I can confirm I am having the same issues with the gotoIf command

1 Like

Hi @neil.jones @sergey

We have released 5.5.4 which fixed this issue, can you try to see if it works.

1 Like

Hi @ThanhTo

Yes, it works. Thanks for the great browser automation tool!

1 Like