AWS Device Farm是否支持Android Orchestrator?

时间:2018-12-24 09:50:49

标签: android-espresso orchestration aws-device-farm

我可以将Android Orchestrator .apk作为第3个APK(连同主应用程序APK和测试套件APK)一起上载到AWS Device Farm吗?还是应用程序状态在Device Farm中不是持久性的,因此根本不需要外部Orchestrator?

当前,我们使用本地运行器进行Android Espresso测试。有些测试要求在测试之间清除应用程序状态/数据,因此我们使用Orchestrator。根据控制台,它将作为单独的apk上传到设备。 AWS Device Farm仅允许上传2个APK:应用程序本身和测试套件。

那么,我如何使用AWS Device Farm中的Orchestrator进行测试以在每次测试后清除应用程序状态/数据?

2 个答案:

答案 0 :(得分:0)

使用AWS Device Farm时,您可以将Orchestrator作为辅助应用程序发送。

如果您使用的是控制台,请在Specify device state下的Install other apps步骤中完成

如果您使用的是CLI,请使用assistantApps标志https://docs.aws.amazon.com/cli/latest/reference/devicefarm/schedule-run.html

答案 1 :(得分:0)

简短回答:上传编排器似乎可行,但您不需要它来让测试在单独的进程中运行。

长答案:正如斯科特的回答所说,您可以将编排器上传并安装到设备。您还应该上传 android 测试服务 apk(例如 test-services-1.4.0-alpha05.apk)

Piotr 的评论也是正确的。如果你想使用协调器,你应该为这样的测试指定你自己的启动命令: "adb shell "CLASSPATH=$(pm path androidx.test.services) exec app_process / androidx.test.services.shellexecutor.ShellMain am instrument ...”。这可以通过使用设备群的启动测试向导中的自定义环境选项来完成。更多信息可以在这里找到:https://developer.android.com/training/testing/junit-runner#using-android-test-orchestrator

如果您想让测试分开运行,只需使用默认环境选项,因为它似乎默认隔离了 aws 场中的测试。无需使用编排器。如果您想使用自己的自定义测试运行程序,或使用需要传递给测试的自定义参数,则只需要 Orchestrator。