我正在使用Spoon和Espresso在我们的Android应用程序上自动执行UI /功能测试测试。
我想知道是否有办法在多个连接的设备和/或仿真器上分发检测测试,这样我就可以缩短测试执行时间。
Ex:我说300次测试需要15分钟才能在1个仿真器上运行。有没有办法可以添加更多仿真器(比如4),为每个仿真器分配75个测试并减少测试执行时间?
感谢您对此的投入。
答案 0 :(得分:1)
您要找的是auto-sharding。您必须使用--shard
拨打勺子,并使用-serial
添加所有连接设备的序列号。您可以找到adb devices
的序列号。
答案 1 :(得分:0)
您可以在“选择”对话框中选择多个设备。单击时按Shift
或CTRL
键。
另一种解决方案是使用Gradle
。在Android Studio的右侧,选择Gradle
,然后选择verification
,最后选择connectedAndroidTest
。它会给你带来与你在控制台中相同的效果:
./gradlew connectedAndroidTest
或gradlew.bat connectedAndroidTest
我的意思是我会在所有可用设备(物理和模拟器)上运行所有测试用例。要准确选择哪些测试类,您应该在build.gradle
中任务。
了解Groovy
编程语言的基础知识,以便更有效地编写Gradle任务脚本。这是Groovy编写的任务示例:Run gradle task X after "connectedAndroidTest" task is successful
您还可以了解Continuous Integration
及其Jenkins
或Travis
等工具,您可以将其配置为在每次提交时运行特定的测试用例。
作为示例,请查看我的Android项目的此构建日志:https://travis-ci.org/piotrek1543/WeatherforPoznan/builds/126944044
这是Travis的配置:https://github.com/piotrek1543/WeatherforPoznan/blob/master/.travis.yml
还有其他问题吗?请随意询问。
希望有所帮助