Files
2cc7a440b0 Add with-e2e: e2e tests on Expo Simulators and EAS Workflows (#715)
# Why

TesterArmy is adding Expo to the [e2e
showcase](https://e2e.tester.army/examples) and asked for an Expo
example that runs on Expo Simulators. This folder is that example. The
showcase lists it by folder URL, so it lives here and installs with `npx
create-expo --example with-e2e`.

# How

- One screen: a greeting form built with `@expo/ui` universal components
inside a `GlassView` from `expo-glass-effect`, with native tabs. A
second tab explains the tests.
- The five tests from TesterArmy's with-expo starter: three locator
tests and two agent tests that skip without `AI_GATEWAY_API_KEY`.
- `e2e.config.ts` has `ios`, `android`, and `web` targets. With
`E2E_IOS_BUILD_ID` or `E2E_ANDROID_BUILD_ID` set, the mobile targets run
on Expo Simulators through `@e2e-dev/eas`. Without them, they drive the
local simulator or emulator. The web target lets the runner pick a free
port.
- `eas.json` adds an `e2e` build profile. `.eas/workflows/e2e.yml`
builds both platforms and runs the suite on Expo Simulators from Linux
runners.
- `AGENTS.md` tells coding agents to install the Expo skills and which
skill to use for the screen, Expo Simulators, and the workflow.

# Test Plan

- [x] `tsc --noEmit` and `eslint .` pass.
- [x] Fresh install of the folder (from this branch, since `create-expo
--example` reads master), then the README steps: `npm run ios:release`
and `npm run test:e2e:ios` on an iPhone 17 simulator (iOS 26.5). Three
locator tests pass, the agent tests skip without a key.
- [x] `npm run test:e2e:web` in the fresh install: three pass.
- [x] `npm run android:release` and `npm run test:e2e:android` on a
Pixel 9 emulator (Android 16): three pass.
- [ ] The agent tests with a model key.
- [ ] A run on Expo Simulators with an `e2e` profile build
(`E2E_IOS_BUILD_ID`).
- [ ] `eas workflow:validate` and one workflow run. Both need the
project linked with `eas init`.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Fable 5.1 <[email protected]>
Co-authored-by: Tori Expo <[email protected]>
2026-10-30 18:34:37 +00:00
..