Athena — roomy-mobile/archive/changes/2026-01-05-add-per-screen-maestro-flows/tasks/013-validate-behavior.md


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

Nog geen reacties