d3ro-voice/apps/mobile-rn/.maestro/authenticated-parity.yaml
Yun Chan 5ca3709b32
Some checks failed
ci / 정본·보안·린트·타입·테스트 (push) Failing after 50s
ci / 워크스페이스 빌드 검증 (push) Has been skipped
ci / Supabase Edge Functions + Cloudflare Worker (push) Successful in 20s
ci / .NET API 서버 테스트 (push) Successful in 12s
deploy-site / deploy (push) Successful in 39s
ci / 모바일 린트·타입·Jest (push) Failing after 3h10m31s
feat: add mobile shell and unified search
2026-09-28 23:23:36 +09:00

277 lines
5.4 KiB
YAML

appId: com.d3ro.voice
name: Authenticated mobile parity navigation and fail-closed billing
---
- launchApp:
clearState: true
stopApp: true
permissions:
all: deny
- extendedWaitUntil:
visible:
id: onboarding-screen
timeout: 30000
- tapOn:
id: onboarding-language-en
- tapOn:
id: onboarding-audience-existing
- scrollUntilVisible:
element:
id: onboarding-skip
direction: DOWN
timeout: 15000
visibilityPercentage: 50
- tapOn:
id: onboarding-skip
- extendedWaitUntil:
visible:
id: login-email
timeout: 30000
- tapOn:
id: login-email
- inputText: ${MOBILE_E2E_EMAIL}
- tapOn:
id: login-password
- inputText: ${MOBILE_E2E_PASSWORD}
- hideKeyboard
- scrollUntilVisible:
element:
id: login-submit
direction: DOWN
timeout: 15000
visibilityPercentage: 50
- tapOn:
id: login-submit
- extendedWaitUntil:
visible:
id: home-screen
timeout: 45000
- assertVisible:
id: free-tier-ad-slot
- takeScreenshot: authenticated-free-test-ad-slot
- tapOn:
id: tab-records
- assertVisible:
id: history-search
- tapOn:
id: record-fab
- assertVisible:
id: record-fab-menu
- tapOn:
id: record-fab-dictation
- assertVisible:
id: record-screen
- assertVisible:
id: record-import-file
- tapOn:
id: record-start
- tapOn:
text: 'Don.t allow'
optional: true
- extendedWaitUntil:
visible:
id: record-error
timeout: 10000
- setPermissions:
permissions:
microphone: allow
- tapOn:
id: record-start
- extendedWaitUntil:
visible:
id: record-stop
timeout: 15000
- tapOn:
id: record-cancel
- extendedWaitUntil:
visible:
id: record-start
timeout: 15000
- tapOn:
id: tab-more
- assertVisible:
id: more-screen
- scrollUntilVisible:
element:
id: open-talk
direction: DOWN
visibilityPercentage: 50
- tapOn:
id: open-talk
- assertVisible:
id: talk-messages
- assertVisible:
id: talk-ptt
- pressKey: BACK
- assertVisible:
id: more-screen
- scrollUntilVisible:
element:
id: more-open-settings
direction: DOWN
visibilityPercentage: 50
- tapOn:
id: more-open-settings
- assertVisible:
id: settings-screen
- scrollUntilVisible:
element:
id: open-account
direction: DOWN
visibilityPercentage: 50
- tapOn:
id: open-account
- assertVisible:
id: account-logout
- pressKey: BACK
- scrollUntilVisible:
element:
id: open-paywall
direction: DOWN
visibilityPercentage: 50
- tapOn:
id: open-paywall
- assertVisible:
id: paywall-screen
- assertVisible:
id: rewarded-ad-status
- assertVisible:
id: store-products-unavailable
- tapOn:
id: paywall-close
- scrollUntilVisible:
element:
id: open-devices
direction: DOWN
visibilityPercentage: 50
- tapOn:
id: open-devices
- assertVisible:
id: devices-screen
- pressKey: BACK
- assertVisible:
id: settings-screen
- pressKey: BACK
- assertVisible:
id: more-screen
- tapOn:
id: tab-meetings
- extendedWaitUntil:
visible:
id: meetings-search
timeout: 30000
- tapOn:
id: tab-more
- assertVisible:
id: more-screen
- scrollUntilVisible:
element:
id: open-templates
direction: DOWN
visibilityPercentage: 50
- tapOn:
id: open-templates
- assertVisible:
id: templates-screen
- pressKey: BACK
- scrollUntilVisible:
element:
id: open-memos
direction: DOWN
visibilityPercentage: 50
- tapOn:
id: open-memos
- assertVisible:
id: memos-screen
- pressKey: BACK
- scrollUntilVisible:
element:
id: open-teams
direction: DOWN
visibilityPercentage: 50
- tapOn:
id: open-teams
- assertVisible:
id: teams-screen
- pressKey: BACK
- scrollUntilVisible:
element:
id: open-notifications
direction: DOWN
visibilityPercentage: 50
- tapOn:
id: open-notifications
- assertVisible:
id: notifications-screen
- extendedWaitUntil:
visible:
id: notifications-request-permission
timeout: 10000
- setPermissions:
permissions:
notifications: allow
- pressKey: BACK
- scrollUntilVisible:
element:
id: open-notifications
direction: DOWN
visibilityPercentage: 50
- tapOn:
id: open-notifications
- assertVisible:
id: notification-status-card
- assertNotVisible:
id: notifications-request-permission
- pressKey: BACK
- scrollUntilVisible:
element:
id: open-data-portability
direction: DOWN
visibilityPercentage: 50
- tapOn:
id: open-data-portability
- assertVisible:
id: data-portability-screen
- pressKey: BACK
- scrollUntilVisible:
element:
id: open-dictionary
direction: DOWN
visibilityPercentage: 50
- tapOn:
id: open-dictionary
- assertVisible:
id: dictionary-screen
- pressKey: BACK
- scrollUntilVisible:
element:
id: open-commands
direction: DOWN
visibilityPercentage: 50
- tapOn:
id: open-commands
- assertVisible:
id: commands-screen
- pressKey: BACK
- scrollUntilVisible:
element:
id: open-knowledge
direction: DOWN
visibilityPercentage: 50
- tapOn:
id: open-knowledge
- assertVisible:
id: knowledge-screen
- pressKey: BACK
- scrollUntilVisible:
element:
id: open-actions
direction: DOWN
visibilityPercentage: 50
- tapOn:
id: open-actions
- assertVisible:
id: actions-screen
- pressKey: BACK
- assertVisible:
id: more-screen
- takeScreenshot: authenticated-parity-complete