android-emulator-qa

작성자: openai

안드로이드 에뮬레이터에서 adb 기반 실행, 입력, UI 트리 검사, 스크린샷 및 logcat 캡처를 통해 Android 기능 흐름을 검증할 때 사용합니다.

npx skills add https://github.com/openai/plugins --skill android-emulator-qa

Android Emulator QA

Validate Android app flows in an emulator using adb for launch, input, UI-tree inspection, screenshots, and logs.

When to use

  • QA a feature flow in an Android emulator.
  • Reproduce UI bugs by driving navigation with adb input events.
  • Capture screenshots and logcat output while testing.

Quick start

  1. List emulators and pick a serial:
    • adb devices
  2. Build and install the target variant:
    • ./gradlew :<module>:install<BuildVariant> --console=plain --quiet
    • If unsure about task names: ./gradlew tasks --all | rg install
  3. Launch the app:
    • Resolve activity: adb -s <serial> shell cmd package resolve-activity --brief <package>
    • Start app: adb -s <serial> shell am start -n <package>/<activity>
  4. Capture a screenshot for visual verification:
    • adb -s <serial> exec-out screencap -p > /tmp/emu.png

adb control commands

  • Tap (use UI tree-derived coordinates):
    • adb -s <serial> shell input tap <x> <y>
  • Swipe:
    • adb -s <serial> shell input swipe <x1> <y1> <x2> <y2>
    • Avoid edges (start ~150-200 px from left/right) to reduce accidental back gestures.
  • Text:
    • adb -s <serial> shell input text "hello"
  • Back:
    • adb -s <serial> shell input keyevent 4
  • UI tree dump:
    • adb -s <serial> exec-out uiautomator dump /dev/tty

Coordinate picking (UI tree only)

Always compute tap coordinates from the UI tree, not screenshots.

  1. Dump the UI tree to a step-specific file:
    • adb -s <serial> exec-out uiautomator dump /dev/tty > /tmp/ui-settings.xml
  2. Find the target node and derive center coordinates (x y) from bounds:
    • Bounds format: bounds="[x1,y1][x2,y2]"
    • Helper script:
    • python3 <path-to-skill>/scripts/ui_pick.py /tmp/ui-settings.xml "Settings"
  3. If the node is missing and there are scrollable elements:
    • swipe, re-dump, and re-search at least once before concluding the target is missing.
  4. Tap the center:
    • adb -s <serial> shell input tap <x> <y>

UI tree skeleton (helper)

Use this helper to create a compact, readable overview before inspecting full XML.

  1. Dump full UI tree:
    • adb -s <serial> exec-out uiautomator dump /dev/tty > /tmp/ui-full.xml
  2. Generate summary:
    • python3 <path-to-skill>/scripts/ui_tree_summarize.py /tmp/ui-full.xml /tmp/ui-summary.txt
  3. Review /tmp/ui-summary.txt to choose likely targets, then compute exact bounds from full XML.

Logs (logcat)

  1. Clear logs:
    • adb -s <serial> logcat -c
  2. Stream app process logs:
    • Resolve pid: adb -s <serial> shell pidof -s <package>
    • Stream: adb -s <serial> logcat --pid <pid>
  3. Crash buffer only:
    • adb -s <serial> logcat -b crash
  4. Save logs:
    • adb -s <serial> logcat -d > /tmp/logcat.txt

Package shortcuts

  • List installed packages:
    • adb -s <serial> shell pm list packages
  • Filter to your namespace:
    • adb -s <serial> shell pm list packages | rg <company_or_app_id>
  • Confirm the activity resolves before launching:
    • adb -s <serial> shell cmd package resolve-activity --brief <package>

openai의 다른 스킬

release
openai
커밋된 버전을 올리고, 이를 반영하고, 병합된 커밋에 태그를 단 후, Burrito 릴리스 워크플로우를 검증하여 Symphony 릴리스를 진행합니다. 다음과 같이 요청받았을 때 사용합니다…
signing-entitlements
openai
macOS 앱의 서명, 자격, 강화된 런타임 및 Gatekeeper 문제를 검사합니다. 코드 서명 실패, 누락된 자격 등을 진단하라는 요청을 받을 때 사용하세요.
building-ai-agent-on-cloudflare
openai
Cloudflare에서 Agents SDK를 사용하여 상태 관리, 실시간 WebSockets, 예약 작업, 도구 통합, 채팅을 통해 AI 에이전트를 구축합니다…
epigraphdb-skill
openai
온톨로지, 문헌, MR, 유전자-약물 및 지원 경로 증거에 대한 간결한 EpiGraphDB API 요청을 제출합니다. 사용자가 간결한 EpiGraphDB 요약을 원할 때 사용하세요.
runtime-behavior-probe
openai
런타임 동작 조사를 계획하고 실행하며, 임시 프로브 스크립트, 검증 매트릭스, 상태 제어, 결과 우선 보고서를 사용합니다. 다음 경우에만 사용하세요…
deep-security-scan
openai
사용자가 심층적이고, 철저하며, 다중 패스 또는 변동성을 줄이는 저장소 전체 또는 범위가 지정된 경로의 Codex Security 스캔을 요청할 때 사용합니다. 반복적으로 독립적인…
define-security-policy
openai
저장소 또는 구성 요소에 대한 SECURITY.md 지침을 정의, 검토 또는 업데이트합니다. 사용자가 Codex Security가 검토해야 할 대상과 범위를 벗어나는 항목을 명확히 하려 할 때 사용합니다…
validation
openai
Codex가 보안 스캔의 검증 단계에 이미 있거나 사용자가 하나 이상의 후보 보안 결과를 판별하도록 명시적으로 요청할 때 사용합니다…