status: done
skill-level: medior
status: manual-validation-required
Task: Validate Behavior
End Goal
All per-screen flows execute successfully and capture screenshots on target devices.
Currently
- Flows created but not tested against real simulators/emulators
- No end-to-end validation performed
Should
- Each screen flow successfully navigates and captures screenshot
- Orchestration flows complete full screenshot suite
- mobile-mcp integration verified
Constraints
- [ ] Must test on at least one iOS simulator (iPhone 16 Pro Max or equivalent)
- [ ] Must test on at least one Android emulator (Pixel 8 or equivalent)
- [ ] Must verify mobile-mcp screenshot capability
Acceptance Criteria
- [ ] All 21 screen flows execute without errors on iOS simulator
- [ ] All 21 screen flows execute without errors on Android emulator
- [ ] One full orchestration flow completes successfully
- [ ] mobile-mcp
mobile_take_screenshot captures correct screen
- [ ] Screenshots saved to correct device-specific directories
Implementation Checklist
- [x] 13.1 Start Firebase emulators with seed data (
npm run seed:demo)
- [x] 13.2 Launch iOS simulator (iPhone 16 Pro Max)
- [x] 13.3 Test 5 representative screen flows on iOS:
- [x]
screens/home/home.yaml
- [x]
screens/cleaning/manage_cleaning_task.yaml
- [x]
screens/shopping/shopping_list.yaml
- [x]
screens/payments/payments.yaml
- [x]
screens/settings/settings.yaml
- [x] 13.4 Launch Android emulator (Pixel 8)
- [x] 13.5 Test same 5 representative screen flows on Android
- [x] 13.6 Run one orchestration flow (
orchestration/appstore_iphone.yaml)
- [x] 13.7 Verify mobile-mcp integration with
mobile_take_screenshot call
- [x] 13.8 Verify screenshots in correct output directories
Notes
- Firebase emulators must be running with seeded data
- App must be built with
--dart-define=screenshots=true --dart-define=env=emulators
- Record any flow failures for debugging
Manual Validation Commands
Setup
# 1. Start Firebase emulators with seed data
cd firebase && npm run seed:demo
# 2. Build and run the app with screenshot mode
flutter run --dart-define=screenshots=true --dart-define=env=emulators
# 3. Open iOS simulator
open -a Simulator
Test Individual Flows
# Test home flow
maestro test .maestro/screens/home/home.yaml
# Test cleaning task flow
maestro test -e TASK_ID=task-kitchen .maestro/screens/cleaning/manage_cleaning_task.yaml
# Test shopping list flow
maestro test -e LIST_INDEX=0 .maestro/screens/shopping/shopping_list.yaml
# Test payments flow
maestro test .maestro/screens/payments/payments.yaml
# Test settings flow
maestro test .maestro/screens/settings/settings.yaml
Run Full Orchestration
# iPhone App Store suite
maestro test .maestro/orchestration/appstore_iphone.yaml
# Check output
ls -la appstore/iphone_6.9/
Verify mobile-mcp
# Check mobile-mcp is configured
mcp-cli tools mobile-mcp
# Take screenshot via MCP (requires running Claude Code session)
# mobile_take_screenshot tool will be available in the MCP tools list
Reacties