Valid coupon rejected at the last step
FlyTrap opens your build, taps through it like a curious user, and turns what it finds into a suite. You get a map of the app, not a blank page and a tired login script.
Every step is a decision you can read. The crawler scores what to try next, acts on a real device, and keeps the paths worth running again.
Every frame becomes a fingerprint from the view tree, text, and layout. The crawler knows if it has been here before.
Auth, money, and data entry outrank settings toggles. Dead ends lose priority so time goes where bugs live.
Tap, type, scroll, rotate, grant permissions, follow deep links. On real hardware, not a cartoon of a phone.
Paths get a risk score from crashes, network errors, and how close they sit to revenue. High scores become tests.
Ten screens, nine transitions, one dead end at payment. Nobody described any of this beforehand.
Exploring only matters if something runnable comes out. High-risk flows get promoted and run again on the next build.
Valid coupon rejected at the last step
Consent screen returns to a blank view
No empty state, spinner never stops
Reached at depth 3, nothing broke
Small blast radius, kept for later
No scripts, no selectors, no test plan first. Drop an APK or connect TestFlight.