SuperAPI AI 工具集

android-e2e-testing-setup

测试与质量

查看项目

更新于 10-15 22:13

技能介绍

用途:在具备 Gradle 的 Android 工程中搭建基于 UI Automator 2.4 的轻量冒烟测试,验证应用能正常启动且不崩溃。因 UI Automator 从外部与应用交互,无需可调试构建,所以对 debug 和 release 构建均适用。

前提条件:Android 项目使用 Gradle;最低 SDK 21+;必须有可用设备或模拟器(强制要求,无设备则无法完成)。

主要能力:添加 UI Automator 2.4 及 AndroidX Test、Truth 依赖;创建使用现代 uiAutomator { } API 的 SmokeTest.kt;提供 startApp、waitForAppToBeVisible、onElementOrNull 等用法示例,并给出 HealthConnect 多屏权限与标准运行时权限的处理示例。可选将 testBuildType 设为 release,让 connectedAndroidTest 针对 release 构建运行并验证 ProGuard/R8。

必要用法:在 app/build.gradle.kts 的 dependencies 中加入 androidTestImplementation("androidx.test.uiautomator:uiautomator:2.4.0-alpha05")、androidx.test:core:1.5.0、androidx.test:runner:1.5.2、androidx.test.ext:junit:1.1.5、com.google.truth:truth:1.1.5。在 app/src/androidTest/kotlin/{package_path}/SmokeTest.kt 中把 {PACKAGE_NAME} 替换为实际包名。运行前用 adb devices 确认设备,必要时用 emulator -list-avds 与 emulator -avd <AVD名> 启动,再 adb wait-for-device。执行 ./gradlew connectedDebugAndroidTest 运行测试。

适用场景:应用发布前验证启动路径、CI/CD 发布流水线、排查 ProGuard/R8 破坏关键代码路径的问题。限制:无设备或模拟器时不可用;权限弹窗未被处理会阻塞测试;包名不匹配会导致编译失败;测试失败需按提示修复后再视为完成。