ChatGPT Claude Codex CLI Cohere Cursor DeepSeek Gemini GitHub Copilot GLM Grok Kimi Llama MiniMax Mistral OpenAI opencode Skill

android_ui_verification

Automated end-to-end UI testing and verification on an Android Emulator using ADB.

LLM Mart · 0 points · 23 views 0 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download sickn33-agentic-awesome-skills-skills_android_ui_verification-1f67c44.zip · 2 KB
Part of sickn33/agentic-awesome-skills — 427 skills
This skill couldn't be refreshed from GitHub on the last check — you're seeing the last imported snapshot.

Install

skills CLI npx skills add https://github.com/sickn33/agentic-awesome-skills/tree/main/skills/android_ui_verification
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install sickn33-agentic-awesome-skills@llmmart
Git git clone https://github.com/sickn33/agentic-awesome-skills.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole sickn33/agentic-awesome-skills collection as a plugin from our marketplace. Git is the plain clone.

Skill manifest

Android UI Verification Skill

This skill provides a systematic approach to testing React Native applications on an Android emulator using ADB commands. It allows for autonomous interaction, state verification, and visual regression checking.

When to Use

  • Verifying UI changes in React Native or Native Android apps.
  • Autonomous debugging of layout issues or interaction bugs.
  • Ensuring feature functionality when manual testing is too slow.
  • Capturing automated screenshots for PR documentation.

🛠 Prerequisites

  • Android Emulator running.
  • adb installed and in PATH.
  • Application in debug mode for logcat access.

🚀 Workflow

1. Device Calibration

Before interacting, always verify the screen resolution to ensure tap coordinates are accurate.

adb shell wm size

Note: Layouts are often scaled. Use the physical size returned as the base for coordinate calculations.

2. UI Inspection (State Discovery)

Use the uiautomator dump to find the exact bounds of UI elements (buttons, inputs).

adb shell uiautomator dump /sdcard/view.xml && adb pull /sdcard/view.xml ./artifacts/view.xml

Search the view.xml for text, content-desc, or resource-id. The bounds attribute [x1,y1][x2,y2] defines the clickable area.

3. Interaction Commands

  • Tap: adb shell input tap <x> <y> (Use the center of the element bounds).
  • Swipe: adb shell input swipe <x1> <y1> <x2> <y2> <duration_ms> (Used for scrolling).
  • Text Input: adb shell input text "<message>" (Note: Limited support for special characters).
  • Key Events: adb shell input keyevent <code_id> (e.g., 66 for Enter).

4. Verification & Reporting

Visual Verification

Capture a screenshot after interaction to confirm UI changes.

adb shell screencap -p /sdcard/screen.png && adb pull /sdcard/screen.png ./artifacts/test_result.png

Analytical Verification

Monitor the JS console logs in real-time to detect errors or log successes.

adb logcat -d | grep "ReactNativeJS" | tail -n 20

Cleanup

Always store generated files in the artifacts/ folder to satisfy project organization rules.

💡 Best Practices

  • Wait for Animations: Always add a short sleep (e.g., 1-2s) between interaction and verification.
  • Center Taps: Calculate the arithmetic mean of [x1,y1][x2,y2] for the most reliable tap target.
  • Log Markers: Use distinct log messages in the code (e.g., ✅ Action Successful) to make grep verification easy.
  • Fail Fast: If a uiautomator dump fails or doesn't find the expected text, stop and troubleshoot rather than blind-tapping.

Limitations

  • Use this skill only when the task clearly matches the scope described above.
  • Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
  • Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
Files (agentic-awesome-skills)
  • scripts
    • verify_ui.sh 895 B
      #!/bin/bash
      
      # Helper script for Android UI Verification Skill
      # Usage: ./verify_ui.sh [screenshot_name]
      
      ARTIFACTS_DIR="./artifacts"
      SCREENSHOT_NAME="${1:-latest_screen}"
      
      echo "🚀 Starting UI Verification..."
      
      # 1. Create artifacts directory if not exists
      mkdir -p "$ARTIFACTS_DIR"
      
      # 2. Get Resolution
      echo "📏 Calibrating display..."
      adb shell wm size
      
      # 3. Dump UI XML
      echo "📋 Dumping UI hierarchy..."
      adb shell uiautomator dump /sdcard/view.xml
      adb pull /sdcard/view.xml "$ARTIFACTS_DIR/view.xml"
      
      # 4. Capture Screenshot
      echo "📸 Capturing screenshot: $SCREENSHOT_NAME.png"
      adb shell screencap -p /sdcard/screen.png
      adb pull /sdcard/screen.png "$ARTIFACTS_DIR/$SCREENSHOT_NAME.png"
      
      # 5. Get Recent JS Logs
      echo "📜 Fetching recent JS logs..."
      adb logcat -d | grep "ReactNativeJS" | tail -n 20 > "$ARTIFACTS_DIR/js_logs.txt"
      
      echo "✅ Done. Artifacts saved in $ARTIFACTS_DIR"
      
  • SKILL.md 3.1 KB
    ---
    name: android_ui_verification
    description: Automated end-to-end UI testing and verification on an Android Emulator using ADB.
    risk: safe
    source: community
    date_added: "2026-02-28"
    ---
    
    # Android UI Verification Skill
    
    This skill provides a systematic approach to testing React Native applications on an Android emulator using ADB commands. It allows for autonomous interaction, state verification, and visual regression checking.
    
    ## When to Use
    - Verifying UI changes in React Native or Native Android apps.
    - Autonomous debugging of layout issues or interaction bugs.
    - Ensuring feature functionality when manual testing is too slow.
    - Capturing automated screenshots for PR documentation.
    
    ## 🛠 Prerequisites
    - Android Emulator running.
    - `adb` installed and in PATH.
    - Application in debug mode for logcat access.
    
    ## 🚀 Workflow
    
    ### 1. Device Calibration
    Before interacting, always verify the screen resolution to ensure tap coordinates are accurate.
    ```bash
    adb shell wm size
    ```
    *Note: Layouts are often scaled. Use the physical size returned as the base for coordinate calculations.*
    
    ### 2. UI Inspection (State Discovery)
    Use the `uiautomator` dump to find the exact bounds of UI elements (buttons, inputs).
    ```bash
    adb shell uiautomator dump /sdcard/view.xml && adb pull /sdcard/view.xml ./artifacts/view.xml
    ```
    Search the `view.xml` for `text`, `content-desc`, or `resource-id`. The `bounds` attribute `[x1,y1][x2,y2]` defines the clickable area.
    
    ### 3. Interaction Commands
    - **Tap**: `adb shell input tap <x> <y>` (Use the center of the element bounds).
    - **Swipe**: `adb shell input swipe <x1> <y1> <x2> <y2> <duration_ms>` (Used for scrolling).
    - **Text Input**: `adb shell input text "<message>"` (Note: Limited support for special characters).
    - **Key Events**: `adb shell input keyevent <code_id>` (e.g., 66 for Enter).
    
    ### 4. Verification & Reporting
    #### Visual Verification
    Capture a screenshot after interaction to confirm UI changes.
    ```bash
    adb shell screencap -p /sdcard/screen.png && adb pull /sdcard/screen.png ./artifacts/test_result.png
    ```
    
    #### Analytical Verification
    Monitor the JS console logs in real-time to detect errors or log successes.
    ```bash
    adb logcat -d | grep "ReactNativeJS" | tail -n 20
    ```
    
    #### Cleanup
    Always store generated files in the `artifacts/` folder to satisfy project organization rules.
    
    ## 💡 Best Practices
    - **Wait for Animations**: Always add a short sleep (e.g., 1-2s) between interaction and verification.
    - **Center Taps**: Calculate the arithmetic mean of `[x1,y1][x2,y2]` for the most reliable tap target.
    - **Log Markers**: Use distinct log messages in the code (e.g., `✅ Action Successful`) to make `grep` verification easy.
    - **Fail Fast**: If a `uiautomator dump` fails or doesn't find the expected text, stop and troubleshoot rather than blind-tapping.
    
    ## Limitations
    - Use this skill only when the task clearly matches the scope described above.
    - Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
    - Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related