Description
repeat with while: visible: only executes once, even when the element remains visible. When deleting items from a list, only one item is removed. Using times: X works correctly.
Steps to Reproduce
- Run command
maestro test my-flow.yaml
- With flow file (see below)
- Observe that only one item is deleted and the assertion fails
Expected Behavior
The flow should continue tapping "Delete" while the element is visible, removing all matching items until none remain.
Actual Behavior
The repeat block runs only once. One item is removed, but remaining "Delete" elements are still visible. The final assertion fails.
Environment
- OS: macOS 14.0
- Go version: go1.21.0
- maestro-runner version: 1.0.7
- Executor: UIAutomator2
- Device/Simulator: Pixel 6 API 34 Emulator
Flow File
appId: abc
---
- repeat:
while:
visible: "Delete"
commands:
- tapOn: "Delete"
- assertNotVisible: "Delete"
Error Output
✓ tapOn (672ms)
✓ repeat (222ms)
✓ tapOn (189ms)
✗ assertNotVisible (5.6s)
╰─ Element should not be visible but was found
Additional Context
If the same flow uses:
- repeat:
times: 5
commands:
- tapOn: "Delete"
it repeats correctly. The issue appears specific to while: visible:.
Description
repeatwithwhile: visible:only executes once, even when the element remains visible. When deleting items from a list, only one item is removed. Usingtimes: Xworks correctly.Steps to Reproduce
maestro test my-flow.yamlExpected Behavior
The flow should continue tapping
"Delete"while the element is visible, removing all matching items until none remain.Actual Behavior
The
repeatblock runs only once. One item is removed, but remaining"Delete"elements are still visible. The final assertion fails.Environment
Flow File
Error Output
Additional Context
If the same flow uses:
it repeats correctly. The issue appears specific to
while: visible:.