3

我正在使用 Spoon 和 Espresso 在我们的 android 应用程序上自动化 UI/功能仪器测试。

我想知道是否有办法在多个连接的设备和/或仿真器之间分配仪器测试,以便我可以减少测试执行时间。

例如:我说过 300 个测试需要 15 分钟才能在 1 个模拟器上运行。有没有办法我可以添加更多的模拟器(比如 4 个),为每个模拟器分配 75 个测试并减少测试执行时间?

感谢您对此的投入。

4

2 回答 2

1

您正在寻找的是所谓的 auto-sharding。您必须使用 调用spoon-runner--shard并添加来自所有连接设备的序列-serial。您可以使用adb devices.

于 2016-05-11T21:11:49.070 回答
0

您可以在选择对话框中选择多个设备。单击时按ShiftCTRL键。

另一种解决方案是使用Gradle. 在Android Studio右侧选择Gradle,然后verification,最后connectedAndroidTest。它会给你和你在控制台中一样的效果:

./gradlew connectedAndroidTest或者gradlew.bat connectedAndroidTest

我的意思是我会在所有可用设备(物理和模拟器)上运行所有测试用例。为了准确选择您应该build.gradle.

学习Groovy编程语言基础知识,以更有效地编写 Gradle 任务脚本。下面是一个用 Groovy 编写的任务示例:在“connectedAndroidTest”任务成功后运行 gradle task X

您还可以了解Continuous Integration它及其工具Jenkins,例如 或Travis,您可以将其配置为在每次提交时运行特定的测试用例。例如,请查看我的 Android 项目的构建日志:https ://travis-ci.org/piotrek1543/WeatherforPoznan/builds/126944044 ,这是 Travis 的配置:https ://github.com/piotrek1543 /WeatherforPoznan/blob/master/.travis.yml

还有问题吗?请随意询问。

希望有帮助

于 2016-05-07T14:22:36.203 回答