Post

I've been recently experimenting with a new way to run e2e flows in React Native. Same maestro e2e test, same yaml, but 2-3x faster. learn about Ennio 🧵

0 reposts3 likes

1. disclaimer: this is an experimental project and works only on iOS with metro enabled for now. The plan is to make iOS work perfectly and then extend with Android support as well.

2. I'm building Ennio with 1:1 parity with maestro yaml - tapOn, assertVisible, scroll, runFlow, retry, env interpolation. drop your existing flows in, they should just work (hopefully).

3. why faster? Ennio interprets the maestro yaml only for react native apps, which allows it to make additional assumptions. It assumes RN + newArch and communicates via Hermes inspector.

4. the main idea is simple. Instead of using XCUITest, we can rely on the Fabric shadow tree to detect the items, then cross check with the a11y tree and the viewport.