Failure mode 1: Timing assumptions
Fixed delays assume the UI always responds at the same speed. Real apps fluctuate, causing automation to click too early or too late.
Failure mode 2: UI drift
Layouts shift, windows move, and elements change. Coordinate-based macros drift away from the target.
Failure mode 3: Missing error handling
Automations often ignore error states, confirmation dialogs, or alternate flows, which breaks the run.
Concrete scenario: A macro clicks “Submit” after 2 seconds, but the
dialog loads in 5 seconds. A state-aware flow waits for the “Submit”
button to appear, then clicks safely.