如何并行运行独立的Robotium UI测试?

丹杰

我将Jenkins用于我的Android持续集成。我有一些独立的独立Robotium UI测试,目前需要12分钟才能在单个仿真器上连续运行。有人可以推荐一种并行运行它们的好方法,这样仅需6分钟(或更短的时间)吗?

我知道在多种设备/仿真器上并行运行完整测试套件的各种方法,例如,请参阅Jenkins Android仿真器插件,SpoonAppThwack等云测试公司的“多配置(矩阵)”作业部分

我知道如何通过使用JUnit注释来运行测试的特定子集,或者显然Spoon支持类似的功能(请参阅有关它的问题)。

我现在正在使用Spoon运行我的完整测试套件(主要是为了利用带有屏幕截图的可爱HTML输出)。如果有人对拆分测试并并行运行它们的最佳方法有建议,那就太好了。

我认为可以通过将测试分为两个单独的CI作业来实现这一点,但是听起来很难维持两个单独的作业并合并结果。

丹杰

该答案是对我以前的MultiJob答案的改进


我发现做到这一点的最佳方法是使用Jenkins Matrix作业(也称为“多配置项目”)。这真的很方便,因为您可以在单个Jenkins作业中配置所有内容。

Spoon现在支持一个--e选项,选项使您可以将参数直接传递给检测运行程序。我已经用“测试分片”更新了他们的README文件

该自述文件应该可以为您提供所需的信息,但是如果有帮助,这是我们Jenkins作业配置的其他重点内容。

User-defined Axis奴隶的节点数集,我们要运行。我们必须将标签设置为,android以便我们的云提供商可以启动适当的从属服务器。

matrix_configuration

我们有一个run-build.sh脚本,可以使用正确的参数调用Spoon。我们需要传入总节点数(在本例中为6),以及正在运行的特定从属节点的索引(自动存在于node_index变量中)。

matrix_build

后期构建步骤应该与您现有的步骤相同。将来,我们可能需要添加一些内容以将结果收集到主节点上(这很难解决)。现在,您仍然可以单击以查看从站上的结果。

matrix_post_build

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章