pj fc1e6f9319 perf(web-runtime): cache randomTap candidate DOM scan per tick
The 16-attempt retry loop in __sanderlingNextAction__ called
randomTap repeatedly; each call ran querySelectorAll over a-button-
input-... and re-flushed layout per match via getBoundingClientRect.
On heavy SPA routes that's the per-tick budget gone.

Cache the scan in a module-level slot, reset at the top of each
__sanderlingNextAction__ invocation so the cache doesn't outlive a tick.
2026-05-03 11:06:27 +07:00
2026-04-25 20:04:29 +07:00
2026-04-25 20:04:29 +07:00
2026-04-25 20:04:29 +07:00
2026-04-25 20:04:29 +07:00

sanderling

Autonomous property-based testing for mobile apps. Specs in TypeScript. Core in Go. Drives the app under test through Maestro.

Alpha. Android emulator only. Full scope in the v0.1.0 roadmap.

Docs

After a sanderling test run, browse traces locally with sanderling inspect. It opens a web UI for stepping through actions, screenshots, snapshots, residual formulas, and exceptions.


sanderling

sanderling, a wading bird that probes the shoreline for bugs that lie beneath.

S
Description
No description provided
Readme Apache-2.0
51 MiB
0 Stars 1 Watchers 0 Forks
Languages
Go 74.6%
TypeScript 15.2%
Kotlin 5.5%
Shell 2.7%
Swift 1%
Other 0.9%