Repository navigation
speedrun v0.2.7
macOS arm64 and Linux x86_64, Android and iOS simulators (the iOS agent was built with Xcode 27.0).
-
A failed flow's debug output explains what happened. Next to
commands.jsonand the screenshot, a failed flow's folder now haslogs/debug.log. It holds the end of whatSPEEDRUN_DEBUG=1prints, without having to rerun with it:- each command's start and end;
- where each tap landed and which elements were there;
- how the screen settled;
- the screen's texts each time they changed.
A failure that comes once in many runs can be read from the zip of that folder. Lines carry the local time, as the iOS agent's log does.
-
iOS: the agent's log in the debug output covers more time. XCTest logs a line for every read of the screen, about 20 a second while a step waits. So the last 400 lines of
logs/ios-agent.logcovered only the last 22 s. Runs of those lines are now written as one line with a count, and the log covers the whole failing step. -
iOS: reads of the app without any text are looked into. v0.2.6 logged a read of the app with no elements under it. On the CI run it was made for, the app did have elements, just none with any text, so nothing was logged. The check now fires on a read with no text, label or id anywhere. Once that has lasted 2 s, Speedrun reads the app again through a fresh connection and continues with it if it has text. Every 5 s, the agent's log gets a
speedrun: empty read of …line describing:- what the app holds;
- what a touch would reach at four points of the screen;
- which apps XCTest sees.
Launch screens and transitions end before the 2 s and are left alone.
To update: speedrun update, or brew upgrade speedrun if you installed with Homebrew.