从 Android Studio Gradle 构建为 AWS Device Farm 生成 UIAutomator 测试 JAR
Posted
技术标签:
【中文标题】从 Android Studio Gradle 构建为 AWS Device Farm 生成 UIAutomator 测试 JAR【英文标题】:Generate UIAutomator Test JAR for AWS Device Farm from Android Studio Gradle build 【发布时间】:2016-02-12 20:04:13 【问题描述】:我想使用 AWS Device Farm 运行 android UIAutomator 测试。测试需要作为单独的 JAR 上传到 AWS。在 Android Studio (1.4) 中,UIAutomator 测试是应用项目本身的一部分,因此不会生成专用的 JAR。
如何生成仅包含 UIAutomator 测试并满足 AWS Device Farm 要求的 JAR?
【问题讨论】:
【参考方案1】:您仍然可以使用 AWS Device Farm 执行这些测试,而无需将它们转换为 JAR。
2015 年 3 月 12 日,Google 宣布了uiautomator 2.0。无需过多赘述,这个新版本的显着变化是这些测试基于 Android 工具(生成为 APK 文件),而不是之前使用的 uiautomator 1.0 系统(生成为 JAR 文件)。
我将不得不进一步检查 gradle/build 配置,但我猜您正在使用新的 Android 测试库,因此使用的是 uiautomator 2.0。当您构建这样的项目时,它将生成两个 APK 文件,一个用于您的应用程序,另一个用于您的仪器测试。
使用 AWS Device Farm 时,您需要获取这两个 APK 文件并使用 INSTRUMENTATION 测试类型上传它们。此测试类型适用于所有基于 Instrumentation 的框架/工具,例如 Espresso、uiautomator 2.0 和 Robotium。 UIAUTOMATOR 测试类型专门用于旧的 uiautomator 1.0 项目,这些项目仍然为其测试包构建和使用 JAR 文件。
【讨论】:
2019年3月13日,官方UIAutomator doc on AWS Device Farm仍然过时,因为它指向上传jar文件。以上是关于从 Android Studio Gradle 构建为 AWS Device Farm 生成 UIAutomator 测试 JAR的主要内容,如果未能解决你的问题,请参考以下文章
在Android Studio中将Gradle从3.3升级到4.1后出错
Gradle 错误:仅在 Android Studio 中允许从事件调度线程进行写访问
Android Studio - Gradle 实现 (...) exclude ... 不起作用(无法从依赖项中排除组)
Android Studio:Gradle 同步失败:无法 HEAD '...'。从服务器收到状态码 502:Bad Gateway [关闭]