Maestro

Syntax

https://docs.maestro.dev/advanced/conditions

- runFlow:
  - when:
    - visible: …
  - commands:
    …

Issues

  • Not able to get it running on GitHub Actions
  • Timing issues locally where characters typed end up out-of-order
  • Silent test failures with no error output: is there no such element? Is it invisible? Covered? etc.

Workarounds

  • Did not seem able to interact with Expo Go home screen
    • Building a custom development client seemed fine: it could interact with that home screen

Advantages over Detox

  • Easy to set up
  • Seems like it should be agnostic to RN architectural changes
  • Maestro Studio helps to get selectors for elements
  • YAML-based API makes it less tempting to create overly-complex tests