使用多个浏览器运行Jenkins作业

时间:2015-05-26 12:07:26

标签: jenkins junit nosetests

我正在使用Jenkins,python,unittest和nosetests的组合来运行测试套件。我使用Junit插件将结果在nosetests.xml中发布到Jenkins。

我的问题:如何使用不同的浏览器(Chrome,FF,IE等等)运行相同的测试套件,并在同一个Jenkins作业中发布所有结果,并且仍能够区分每个测试结果它使用的浏览器?

我正在考虑多次运行测试套件,每个都使用不同的浏览器,并在发布到Jenkins之前重命名每个nosetest报告中的测试,nosetests.xml,但我不认为这是一个优雅的解决方案。

感谢您的帮助

1 个答案:

答案 0 :(得分:4)

这是Jenkins设计的multi-configuration jobs(或矩阵作业)。

您只需指定一次作业配置,但添加一个或多个每次都应更改的变量,构建一个组合矩阵(在您的情况下,矩阵有一个维度:浏览器)。

Matrix definition

然后詹金斯运行一个带有多个子构建的主构建 - 一个用于矩阵中的每个组合。然后,您可以清楚地看到每种组合的结果。

Matrix configurations and results

这要求您的测试作业可以参数化,即您可以在运行时选择应该运行哪个浏览器,而不是在一个作业中一起运行所有测试。

Jenkins wiki对此功能的文档很少,但有一些关于如何设置它的好blog posts(以及Stack Overflow问题)。