Hello UI.Vision Community,
I’m encountering a persistent and unusual issue with loops in UI.Vision RPA and would appreciate any insights or suggestions.
Environment:
- UI.Vision RPA Version: 9.5.3 (freshly installed from Chrome Web Store)
- Primary Browser: Google Chrome Version 136.0.7103.114 (Official Build)
- Also tested in: Microsoft Edge (latest version, with only one other extension) - same issue occurs.
- OS: Windows 11
Goal: I’m trying to iterate through rows of a CSV file to perform a set of actions for each row.
Problem Encountered: Both while
and times
loops are not functioning as expected. Even with the simplest test case using a times
loop with a hardcoded number of iterations, the loop does not iterate its body correctly. Instead, the times
command itself seems to re-execute, and the !loop
variable (and !csvReadLineNumber
) always remains at 1.
Minimal Reproducible Example (JSON): I created a new macro, pasted the following JSON directly into the “Source View (JSON)” tab, saved it, and ran it using the “Play Macro” button (Loop counter for “Play Loop” button is set to 1).
JSON{
"Name": "TestLoopJSON",
"CreationDate": "2025-05-21",
"Commands": [
{
"Command": "times",
"Target": "3",
"Value": ""
},
{
"Command": "echo",
"Target": "Current !loop is: ${!loop}",
"Value": "green"
},
{
"Command": "end",
"Target": "",
"Value": ""
}
]
}
Expected Behavior (Log):
[info] Executing: | times | 3 | |
[info] Executing: | echo | Current !loop is: ${!loop} | green |
[echo] Current !loop is: 1
[info] Executing: | echo | Current !loop is: ${!loop} | green |
[echo] Current !loop is: 2
[info] Executing: | echo | Current !loop is: ${!loop} | green |
[echo] Current !loop is: 3
[info] Executing: | end | | |
[info] Macro completed
Actual Behavior (Log):
[info] Executing: | times | 3 | |
[info] Executing: | echo | Current !loop is: ${!loop} | green |
[echo] Current !loop is: 1
[info] Executing: | end | | |
[info] Executing: | times | 3 | |
[info] Executing: | echo | Current !loop is: ${!loop} | green |
[echo] Current !loop is: 1
[info] Executing: | end | | |
[info] Executing: | times | 3 | |
[info] Executing: | echo | Current !loop is: ${!loop} | green |
[echo] Current !loop is: 1
[info] Executing: | end | | |
[info] Macro completed
As you can see, the Executing: | times | 3 | |
line appears 3 times, and !loop
is always 1.
Troubleshooting Steps Taken:
- Confirmed
csvRead
works correctly, and variables like!csvReadMaxRow
,!COL1
(for the first row), and!csvReadLineNumber
(initially 1) are populated as expected when testing with CSVs. - The issue is present even when using a hardcoded number in
times
(e.g.,3
) instead of${!csvReadMaxRow}
. - Always using the “Play Macro” button, not “Play Loop” (Loop counter for “Play Loop” is 1).
- The “Table View” of the UI.Vision editor initially had issues displaying commands from JSON, but after closing and reopening the editor, commands appear. In the simple test case, the
echo
command within thetimes
block appears slightly indented in the Table View, suggesting a correct visual structure. - The problem is consistent across both Google Chrome and Microsoft Edge.
- UI.Vision RPA is a fresh installation (today) of the latest version from the Chrome Web Store.
It seems like the UI.Vision execution engine on my system is not handling the times
loop iteration correctly, causing the loop command itself to re-trigger instead of iterating its body with an incrementing !loop
counter.
Question: Has anyone encountered similar behavior with times
loops? What could be causing this (e.g., a specific bug in this version, an environmental factor)? Are there any further diagnostic steps or potential solutions I could try?
Any help would be greatly appreciated!
Thank you.