-
Notifications
You must be signed in to change notification settings - Fork 0
Device GUI Verification
Oleg Miagkov edited this page Jul 13, 2026
·
2 revisions
Источник: docs/DEVICE_GUI_VERIFICATION_ROADMAP.md. ← Обзор
Продолжение языкового роадмапа: цели, которые там были out of scope — mobile, embedded, native desktop GUI. Каждый слайс — «тот же пайплайн, новые адаптеры».
Легенда: ✅ сделано · 🟢 частично · 🚧 в работе · ⬜ запланировано
| Уровень | Смысл |
|---|---|
| L0 | Собирается чисто |
| L1 | Host-side unit-тесты проходят |
| L2 | Работает в эмуляторе/симуляторе, ассерты проходят |
| L3 | Скриншот-верификация (агент визуально подтверждает UI) |
| L4 | Скриптованное взаимодействие (агент вводит и проверяет реакцию) |
| L5 | На физическом устройстве (вне scope, кроме serial-harness) |
| Target | Детект | Test discovery | Взаимодействие | Лучший уровень |
|---|---|---|---|---|
| Android (Kotlin/Java) | ✅ | 🟢 инструмент. тесты (#422) | ❌ | L1→L2 |
| Flutter | ✅ | 🟡 flutter test
|
❌ | L1 |
| iOS (Swift) | 🟡 только Package.swift
|
🟡 swift test
|
❌ | L1 |
| React Native | ✅ | 🟡 jest | ❌ | L1 |
| Embedded (PlatformIO/Zephyr/ESP-IDF) | ❌ | ❌ | ❌ | L0 |
| Desktop GUI (Qt/GTK/native) | ✅ | ✅ ctest | ❌ | L1 |
| Tauri | ✅ | 🟡 jest/vitest | ❌ | L1 |
- 🟢 A1 discovery инструментированных тестов: Gradle Managed Virtual Devices +
connectedAndroidTestfallback (#422) → L2. - ⬜ A2 adb-тулы (
android_screenshot/android_input/android_logcat) → L3/L4. - ⬜ A3 Maestro flows (YAML, LLM-friendly, хранятся как регресс-тесты).
- ⬜ B1
flutter drive/integration_test+ emulator lifecycle → L2. - ⬜ B2 переиспользование adb-тулов из A2 → L3/L4.
Честный потолок без железа — L2. ⬜ C1 детект+allowlist+discovery (PlatformIO pio test, Zephyr west twister -p qemu, ESP-IDF); ⬜ C2 Renode-harness; ⬜ C3 serial-harness run_serial_session (единственный санкционированный L5); ⬜ C4 QA-честность («verified in QEMU, not on hardware»).
- ⬜ D1 launch + screenshot (L3): macOS
screencapture, WindowsSystem.Drawing, Linuxgrim/import. - ⬜ D2 чтение accessibility-дерева (Windows UIAutomation → Linux AT-SPI → macOS AXUIElement).
- ⬜ D3 input injection (L4).
- ⬜ D4 Tauri fast-path через
tauri-driver(WebDriver), независимо от D1–D3.
- ⬜ E1 детект
*.xcodeproj/*.xcworkspace+xcodebuild testна симуляторе (is_macos()). - ⬜ E2 скриншоты
simctl io booted screenshot(L3). - ⬜ E3 input через
idbили Maestro.
- A1 ✅ → 2. A2 adb-тулы → 3. C1 embedded detect → 4. C3 serial → 5. B1 flutter drive → 6. D1 desktop_screenshot → 7. C2 Renode → 8. E1/E2 iOS → 9. Maestro (A3/E3) → 10. D2/D3 → 11. D4 tauri-driver.
Device-фермы (Firebase/BrowserStack), hardware-in-the-loop сверх serial, коммерческие GUI-автоматизаторы (Squish/TestComplete).
- 🏠 Overview / status
- 🎯 Strategic goals (P1–P5)
- 🔌 Multi-provider / CLI runner
- 🤖 Non-Claude autonomy
- 🗣️ Language support
- 📱 Device & GUI verification
Legend: ✅ done · 🚧 in progress · ⬜ planned