android-emulator-qa

द्वारा openai

एंड्रॉइड एमुलेटर में adb-संचालित लॉन्च, इनपुट, UI-ट्री निरीक्षण, स्क्रीनशॉट और logcat कैप्चर के साथ एंड्रॉइड फीचर फ्लो को मान्य करते समय उपयोग करें।

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 की और Skills

release
openai
Symphony रिलीज़ को बंप करके, उसे लैंड करके, मर्ज किए गए कमिट को टैग करके, और Burrito रिलीज़ वर्कफ़्लो को सत्यापित करके काटें। जब ऐसा करने के लिए कहा जाए…
signing-entitlements
openai
macOS ऐप्स के लिए हस्ताक्षर, अधिकार, कठोर रनटाइम और गेटकीपर समस्याओं का निरीक्षण करें। जब कोड हस्ताक्षर विफलताओं, लापता अधिकारों,… के निदान के लिए कहा जाए तो उपयोग करें।
building-ai-agent-on-cloudflare
openai
Cloudflare पर Agents SDK का उपयोग करके AI एजेंट बनाता है, जिसमें state प्रबंधन, real-time WebSockets, अनुसूचित कार्य, tool एकीकरण और चैट शामिल हैं…
epigraphdb-skill
openai
ऑन्टोलॉजी, साहित्य, एमआर, जीन-दवा और समर्थन-पथ साक्ष्य के लिए कॉम्पैक्ट EpiGraphDB API अनुरोध सबमिट करें। जब उपयोगकर्ता संक्षिप्त EpiGraphDB सारांश चाहता है तब उपयोग करें।
runtime-behavior-probe
openai
अस्थायी जांच स्क्रिप्ट, सत्यापन मैट्रिक्स, स्थिति नियंत्रण और निष्कर्ष-प्रथम रिपोर्ट के साथ runtime-behavior जांच की योजना बनाएं और निष्पादित करें। केवल तब उपयोग करें जब...
deep-security-scan
openai
उपयोग तब करें जब उपयोगकर्ता गहन, व्यापक, बहु-पास, या विचरण-न्यूनीकरण वाले रिपॉजिटरी-व्यापी या स्कोप्ड-पथ Codex Security स्कैन का अनुरोध करता है। कई स्वतंत्र बार-बार चलाएँ…
define-security-policy
openai
किसी रिपॉज़िटरी या कंपोनेंट के लिए SECURITY.md मार्गदर्शन को परिभाषित, समीक्षा, या अपडेट करें। उपयोग करें जब उपयोगकर्ता यह स्पष्ट करना चाहता है कि Codex Security को क्या समीक्षा करनी चाहिए, क्या बाहर…
validation
openai
इसका उपयोग तब करें जब Codex पहले से ही सुरक्षा स्कैन के सत्यापन चरण में हो या उपयोगकर्ता स्पष्ट रूप से यह निर्धारित करने के लिए कहे कि एक या अधिक उम्मीदवार सुरक्षा निष्कर्ष…