@@ -45,18 +45,29 @@ These are the main case families this app can support without adding more screen
4545
4646## Run locally
4747
48+ This fixture uses an Expo development build, not Expo Go. Expo's development-build
49+ workflow installs ` expo-dev-client ` , builds the native app with ` expo run:ios ` or
50+ ` expo run:android ` , and then serves JavaScript from Metro with ` expo start ` .
51+ The app declares ` @expo/dom-webview ` directly to keep Expo's development runtime
52+ on the SDK 56 native module; Android verification failed when the dev client
53+ resolved an older transitive copy.
54+
4855From the repo root:
4956
5057``` bash
5158pnpm test-app:install
52- pnpm test-app:ios
59+ pnpm test-app:ios -- --device " iPhone 17 Pro "
5360```
5461
62+ ` expo run:* ` keeps Metro in the foreground after launching the app. Leave that
63+ terminal running, then use a separate terminal for ` agent-device ` or Maestro
64+ commands.
65+
5566Or on Android:
5667
5768``` bash
5869pnpm test-app:install
59- pnpm test-app:android
70+ pnpm test-app:android -- --device " $ANDROID_DEVICE "
6071```
6172
6273If you prefer to work from inside the app folder:
@@ -75,7 +86,10 @@ pnpm install --ignore-workspace
7586pnpm android
7687```
7788
78- Once the app is running, use ` agent-device ` against ` Agent Device Tester ` like any other target app.
89+ After the first native build is installed, use ` pnpm test-app:start ` when you only
90+ need to restart Metro for JavaScript or TypeScript changes. Once the app is
91+ running, use ` agent-device ` against ` Agent Device Tester ` like any other target
92+ app.
7993
8094## Local Agent Device suites
8195
@@ -102,13 +116,13 @@ underlying command directly so global flags stay before replay inputs:
102116node bin/agent-device.mjs test examples/test-app/replays \
103117 --platform ios \
104118 --device " iPhone 17 Pro" \
105- --env APP_TARGET=dev.expo.easagentdevice \
119+ --env APP_TARGET=com.callstack.agentdevicelab \
106120 --env APP_URL=< project-url> \
107121 --artifacts-dir .tmp/test-app-replay/ios
108122```
109123
110- Use ` APP_TARGET=com.callstack.agentdevicelab ` when the standalone fixture app is
111- installed instead of an Expo development shell .
124+ Omit ` APP_URL ` when the installed development build can discover the local Metro
125+ server from its launcher .
112126
113127The Maestro prototype suite lives in ` examples/test-app/maestro ` and runs through
114128` agent-device replay --maestro ` :
@@ -118,11 +132,11 @@ pnpm test-app:maestro:ios -- --open "Agent Device Tester"
118132pnpm test-app:maestro:android -- --open " Agent Device Tester"
119133```
120134
121- When running through Expo Go, start the project first and pass the shell that is already showing
122- the app, for example :
135+ When the development build is already open and connected to Metro, omit
136+ ` --open ` and run the suite against the existing session :
123137
124138``` bash
125- pnpm test-app:maestro:ios -- --open " Expo Go "
139+ pnpm test-app:maestro:ios
126140```
127141
128142The suite intentionally covers the compat layer syntax used by public Maestro suites:
0 commit comments