qa-testing-android by vasilyu1983/ai-agents-public
npx skills add https://github.com/vasilyu1983/ai-agents-public --skill qa-testing-android使用 Espresso、UIAutomator 和 Compose Testing 进行 Android 测试自动化。
核心参考资料 : Android 测试文档, Espresso, Compose 测试
| 任务 | 命令 |
|---|---|
| 列出模拟器 | emulator -list-avds |
| 启动模拟器 | emulator @<avd_name> |
| 列出设备 | adb devices |
| 安装 APK | adb install -r <path-to-apk> |
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
| 运行单元测试 | ./gradlew test |
| 运行仪器化测试 (已连接设备) | ./gradlew connectedAndroidTest |
| 运行仪器化测试 (GMD) | ./gradlew <device><variant>AndroidTest |
| 列出 GMD 任务 | `./gradlew tasks --all |
| 清除应用数据 | adb shell pm clear <applicationId> |
connectedAndroidTest。testOptions(首选)禁用动画,而不是通过每个运行器的 ADB 步骤。withId() (Views), testTag (Compose), resource-id/content-desc (UIAutomator)。用于稳定仪器化测试的推荐 Gradle 默认设置(版本目录名称因项目而异):
android {
testOptions {
animationsDisabled = true
execution = "ANDROIDX_TEST_ORCHESTRATOR"
}
}
dependencies {
androidTestUtil(libs.androidx.test.orchestrator)
}
| 层级 | 框架 | 范围 |
|---|---|---|
| 单元测试 | JUnit + Mockito | JVM,无 Android |
| 单元测试 (Android) | Robolectric | JVM,模拟环境 |
| UI 测试 (Views) | Espresso | 仪器化 |
| UI 测试 (Compose) | Compose Testing | 仪器化 |
| 系统测试 | UIAutomator | 跨应用 |
testOptions { animationsDisabled = true }waitUntil 代替休眠MockWebServer(或你的 DI 模拟)来模拟网络,避免使用实时后端references/espresso-patterns.mdreferences/compose-testing.mdreferences/uiautomator.mdid、Compose Modifier.testTag、系统 resource-id/content-desc。waitUntil(避免休眠)。./gradlew connectedAndroidTest(或通过运行器参数运行单个测试)。references/gradle-managed-devices.md)。**/build/reports/androidTests/、截图/logcat。# 截图
adb exec-out screencap -p > screenshot.png
# 屏幕录制
adb shell screenrecord /sdcard/demo.mp4
首选:Gradle 托管设备 (GMD)。参见 references/gradle-managed-devices.md。
# .github/workflows/android.yml
name: Android CI
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
- uses: gradle/actions/setup-gradle@v3
- run: ./gradlew test pixel6api34DebugAndroidTest
参考指南内容较多;请在其中搜索而不是加载所有内容:
rg -n \"^## \" frameworks/shared-skills/skills/qa-testing-android/references/compose-testing.mdrg -n \"Idling|waitUntil|Synchronization\" frameworks/shared-skills/skills/qa-testing-android/references/compose-testing.mdrg -n \"RecyclerView|Intents\" frameworks/shared-skills/skills/qa-testing-android/references/espresso-patterns.mdwaitUntil 进行异步等待Thread.sleep() 进行同步| 资源 | 用途 |
|---|---|
| references/espresso-patterns.md | Espresso 匹配器、操作 |
| references/compose-testing.md | Compose 测试指南 |
| references/uiautomator.md | UIAutomator 模式 (系统 UI) |
| references/gradle-managed-devices.md | 用于 CI 的托管设备 |
| references/screenshot-testing.md | Android 视觉回归测试 |
| references/test-orchestrator-patterns.md | AndroidX Test Orchestrator 模式 |
| references/android-ci-optimization.md | CI 流水线优化 |
| data/sources.json | 文档链接 |
| 模板 | 用途 |
|---|---|
| assets/template-android-test-checklist.md | 稳定性检查清单 |
| 技能 | 用途 |
|---|---|
| software-mobile | Android 开发 |
| qa-testing-strategy | 测试策略 |
| qa-testing-mobile | 跨平台移动端测试 |
每周安装量
140
代码仓库
GitHub 星标数
46
首次出现
Jan 23, 2026
安全审计
安装于
opencode114
gemini-cli111
codex111
github-copilot103
cursor98
claude-code88
Android testing automation with Espresso, UIAutomator, and Compose Testing.
Core References : Android Testing Docs, Espresso, Compose Testing
| Task | Command |
|---|---|
| List emulators | emulator -list-avds |
| Start emulator | emulator @<avd_name> |
| List devices | adb devices |
| Install APK | adb install -r <path-to-apk> |
| Run unit tests | ./gradlew test |
| Run instrumented tests (connected) | ./gradlew connectedAndroidTest |
| Run instrumented tests (GMD) | ./gradlew <device><variant>AndroidTest |
| List GMD tasks | `./gradlew tasks --all |
| Clear app data | adb shell pm clear <applicationId> |
connectedAndroidTest for local ad-hoc runs.testOptions (preferred) instead of per-runner ADB steps.withId() (Views), testTag (Compose), resource-id/content-desc (UIAutomator).Recommended Gradle defaults for stable instrumented tests (version catalog names vary by project):
android {
testOptions {
animationsDisabled = true
execution = "ANDROIDX_TEST_ORCHESTRATOR"
}
}
dependencies {
androidTestUtil(libs.androidx.test.orchestrator)
}
| Layer | Framework | Scope |
|---|---|---|
| Unit | JUnit + Mockito | JVM, no Android |
| Unit (Android) | Robolectric | JVM, simulated |
| UI (Views) | Espresso | Instrumented |
| UI (Compose) | Compose Testing | Instrumented |
| System | UIAutomator | Cross-app |
testOptions { animationsDisabled = true } for instrumented testswaitUntil instead of sleepsMockWebServer (or your DI fake) and avoid live backendsreferences/espresso-patterns.mdreferences/compose-testing.mdreferences/uiautomator.mdid, Compose Modifier.testTag, system resource-id/content-desc.waitUntil (avoid sleeps)../gradlew connectedAndroidTest (or a single test via runner args).references/gradle-managed-devices.md).**/build/reports/androidTests/, screenshots/logcat.# Screenshot
adb exec-out screencap -p > screenshot.png
# Screen recording
adb shell screenrecord /sdcard/demo.mp4
Preferred: Gradle Managed Devices (GMD). See references/gradle-managed-devices.md.
# .github/workflows/android.yml
name: Android CI
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
- uses: gradle/actions/setup-gradle@v3
- run: ./gradlew test pixel6api34DebugAndroidTest
The reference guides are intentionally large; search within them instead of loading everything:
rg -n \"^## \" frameworks/shared-skills/skills/qa-testing-android/references/compose-testing.mdrg -n \"Idling|waitUntil|Synchronization\" frameworks/shared-skills/skills/qa-testing-android/references/compose-testing.mdrg -n \"RecyclerView|Intents\" frameworks/shared-skills/skills/qa-testing-android/references/espresso-patterns.mdwaitUntil for async waitsThread.sleep() for synchronization| Resource | Purpose |
|---|---|
| references/espresso-patterns.md | Espresso matchers, actions |
| references/compose-testing.md | Compose testing guide |
| references/uiautomator.md | UIAutomator patterns (system UI) |
| references/gradle-managed-devices.md | Managed Devices for CI |
| references/screenshot-testing.md | Visual regression for Android |
| references/test-orchestrator-patterns.md | AndroidX Test Orchestrator patterns |
| Template | Purpose |
|---|---|
| assets/template-android-test-checklist.md | Stability checklist |
| Skill | Purpose |
|---|---|
| software-mobile | Android development |
| qa-testing-strategy | Test strategy |
| qa-testing-mobile | Cross-platform mobile |
Weekly Installs
140
Repository
GitHub Stars
46
First Seen
Jan 23, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
opencode114
gemini-cli111
codex111
github-copilot103
cursor98
claude-code88
Skills CLI 使用指南:AI Agent 技能包管理器安装与管理教程
43,100 周安装
agent-browser 浏览器自动化测试工具 - 基于引用的 AI 友好型端到端测试 CLI
147 周安装
Ghidra 无头分析技能:自动化逆向工程与二进制文件反编译工具
149 周安装
文件整理助手 - 自动化整理电脑文件,智能清理重复文件,优化文件夹结构
152 周安装
WordPress插件开发指南:架构、安全、生命周期与Settings API详解
151 周安装
Web Audio API 技能:JARVIS AI 音频反馈、语音处理与音效开发指南
151 周安装
find-skills技能:AI智能体技能搜索与安装工具,扩展Claude能力
152 周安装
| references/android-ci-optimization.md | CI pipeline optimization |
| data/sources.json | Documentation links |