Quick Start
This guide walks you through writing and running your first FlutterProbe test. It assumes you have already installed the CLI and integrated the Dart agent.
The fastest path, if the CLI and agent are installed and your app is running with --dart-define=PROBE_AGENT=true:
probe init # creates probe.yaml and tests/example.probeprobe doctor # checks the project and this machine, and says how to fix what is missingprobe lint tests # checks the files parseprobe device list # find your device idprobe test tests/example.probe --device <id> -vOpen probe.yaml first and set project.app to your app’s id. The sample test only opens the app, so it passes when the app starts with the agent enabled. Then add checks for your own screens. The rest of this page writes a real test.
1. Write a Test
Section titled “1. Write a Test”Create a file tests/smoke/login.probe. The screen texts (“Sign In”, “Email”, “Dashboard”) are examples: use the visible text or widget keys from your own app.
test "user can log in" @smoke open the app wait until "Sign In" appears tap "Sign In" type "user@example.com" into "Email" type "secret123" into "Password" tap "Continue" see "Dashboard"2. Validate Syntax
Section titled “2. Validate Syntax”Before running, lint the file to catch syntax errors:
probe lint tests/smoke/login.probe3. Run the Test
Section titled “3. Run the Test”Make sure your app is running on a device or simulator with ProbeAgent enabled, then:
probe test tests/smoke/login.probe --device <UDID-or-serial> -vFlags:
-venables verbose output--devicetargets a specific device (useprobe device listto find available devices)-yauto-confirms destructive operations and auto-grants permissions
4. Run All Tests
Section titled “4. Run All Tests”probe test tests/ --device <UDID-or-serial> --timeout 60s -v -y5. Filter by Tag
Section titled “5. Filter by Tag”probe test tests/ --tag smoke6. Generate Reports
Section titled “6. Generate Reports”# JSON output (for HTML report)probe test tests/ --format json -o reports/results.json --video
# Generate HTML reportprobe report --input reports/results.json -o reports/report.html --open
# JUnit XML (for CI)probe test tests/ --format junit -o reports/results.xml7. Watch Mode
Section titled “7. Watch Mode”Re-run tests automatically when .probe files change:
probe test tests/ --watchWhat to Read Next
Section titled “What to Read Next”- ProbeScript Syntax — full language reference
- Recipes — reusable step sequences
- CLI Reference — all commands and flags
- GitHub Actions — CI/CD setup