运行Kaspresso官方示例失败:connectedDebugAndroidTest任务执行出错
Kaspresso示例测试任务失败的原因、解决方法及前置检查
一、常见失败原因及对应解决办法
设备/模拟器连接异常
connectedDebugAndroidTest任务依赖已连接的真实设备或运行中的模拟器,设备未识别、模拟器未启动都会直接导致任务失败。
解决:- 执行
adb devices命令确认设备/模拟器已被ADB识别; - 真实设备需开启USB调试,Android 8.0+设备额外开启“允许USB安装应用”权限;
- 重启ADB服务:依次执行
adb kill-server和adb start-server。
- 执行
Android SDK环境不匹配
Kaspresso示例依赖特定版本的Compile SDK、Build Tools或Target SDK,本地缺少对应版本会触发编译失败。
解决:- 打开Android Studio的SDK Manager,安装项目
build.gradle中指定的SDK组件; - 确保设备/模拟器的系统版本不低于项目的Min SDK版本。
- 打开Android Studio的SDK Manager,安装项目
Gradle依赖缓存损坏或下载不完整
依赖下载中断、缓存损坏会导致构建过程中找不到所需类或资源。
解决:- 执行
./gradlew clean清理项目,再重新执行测试任务; - 删除用户目录下的
.gradle/caches文件夹,清除Gradle缓存后重新同步项目; - 检查网络连通性,确保能正常访问Maven仓库获取依赖。
- 执行
测试代码或配置存在错误
任务失败的具体原因可能隐藏在日志中,仅靠任务失败提示无法定位。
解决:- 执行
./gradlew connectedDebugAndroidTest --stacktrace获取详细错误栈,根据日志信息排查(比如权限拒绝、测试代码崩溃、资源缺失等); - 检查
AndroidManifest.xml是否声明了测试所需的权限(如存储、位置权限)。
- 执行
Kaspresso与Gradle/AGP版本不兼容
不同版本的Kaspresso对Gradle和Android Gradle Plugin(AGP)有版本要求,版本不匹配会引发构建冲突。
解决:- 查看Kaspresso官方文档,确认当前示例对应的Gradle和AGP版本,同步调整本地环境;
- 检查项目根目录
gradle/wrapper/gradle-wrapper.properties中的Gradle版本是否符合要求。
二、容易遗漏的前置配置与条件
- 开启设备调试权限
真实设备必须开启USB调试,Android 8.0+设备需额外允许“通过USB安装应用”,否则测试APK无法安装。 - 配置正确的测试运行器
确保项目模块的build.gradle中配置了Kaspresso指定的测试运行器:defaultConfig { testInstrumentationRunner "com.kaspersky.kaspresso.testcases.api.testrunner.KaspressoRunner" } - 保障设备资源充足
UI测试需要足够的内存和CPU支持,模拟器建议分配至少2GB内存,避免因资源不足导致测试崩溃。 - 完成项目依赖同步
克隆仓库后,先执行Android Studio的“Sync Project with Gradle Files”操作,确保所有依赖下载完成再运行测试。 - 关闭Instant Run功能
Android Studio的Instant Run可能干扰测试任务执行,建议在Settings > Build, Execution, Deployment > Instant Run中关闭该功能。
内容的提问来源于stack exchange,提问作者pawelnbd1992
相关产品推荐
相关产品推荐

