Run journey tests
Declare journeys in yewo.yaml and run them with yewo test.
Declare a journey
Create yewo.yaml in the app project. A minimal Android project looks like this:
device:
name: Pixel_8
platform: android
app: build/app-release.apk
model: <provider>/<semantic-model>
grounder:
model: <provider>/<grounding-model>
protocol: source_pixels
workflows:
smoke:
journeys:
- id: sign_in
name: Sign in
journey: |
Open the app, sign in with the test account, and open Settings.See Choose your models for the two model settings and the credentials they need.
Run
Run every workflow and target declared by the nearest yewo.yaml:
yewo testSelect workflows or targets with comma-separated identifiers:
yewo test --workflow smoke
yewo test --target pixel,ios_simulatorTest on more than one device
Declare each device you want under targets. Give every target an id, which is
the name you pass to --target and the name that appears in reports:
targets:
- id: pixel
platform: android
device: Pixel_8
- id: ios_simulator
platform: ios
device: iPhone 17 Pro
app: build/ios/iphonesimulator/Runner.appA target runs the workflow app unless you give it its own app. Yewo runs the
targets in order, and each journey-target pair gets its own device session.
Each selected journey-target pair gets its own device session. Yewo discovers the journey, records reusable app knowledge, generates scenarios grounded in that evidence, executes them, and audits each scenario independently.
Output
Each run stores its output under assets/yewo/<run-id>/ by default. A completed
journey test includes:
| File | Contents |
|---|---|
reports/run.json | The canonical machine-readable run record. |
reports/report.html | An interactive report. |
reports/report.md | A Markdown summary. |
reports/junit.xml | A CI-compatible test report. |
Set output_dir in yewo.yaml to replace assets/yewo with another output root.