Skip to content

speedrun v0.2.4

Choose a tag to compare

@github-actions github-actions released this 30 Oct 16:03
· 52 commits to main since this release

macOS arm64 and Linux x86_64, Android and iOS simulators (the iOS agent was built with Xcode 27.0).

  • Android: inputText types the whole text on a slow device. Android drops a key event that waits more than 10 s. Speedrun sent the whole text in one burst, so when the app took longer than that (a busy CI emulator, an app just installed), the end of the text was lost and the step still passed. Keys now go in small chunks, each key stamped as it is sent, sized to the app's pace. Typing on a normal device is as fast as before. eraseText had the same problem and is fixed too. (#7)
  • Android: a scroll that starts on a text field scrolls. React Native's TextInput holds on to a touch until the finger moves, then hands it back to the scroll view. Speedrun's drag sent the rest of its movement at once, too early for the scroll view to use it, so scrollUntilVisible on a form could drag again and again without moving. The drag now waits for the scroll view to take over. (#6)
  • Regular expressions: a long pattern works, or fails with a clear error. A pattern too large for Speedrun's regex engine (a list of more than about a hundred alternatives) was matched as plain text, with no message: assertVisible failed and assertNotVisible passed. Such a pattern is now split into parts that the engine can handle, and the rare one that still can't be split fails with an error naming it. Patterns can also use more than 10 groups. (#5)
  • Faster lookups on deep screens. Finding an element by text or id checked each element of the screen several times. It now checks each one once.

Thanks to @dextorer for #5 and #7, @elyonz for #6, and @daentech for the analysis and patch in #7. Each issue came with a precise diagnosis and a repro.

To update: speedrun update, or brew upgrade speedrun if you installed with Homebrew.