我正在使用Jenkins,python,unittest,nosetests的组合来运行测试套件 . 我使用Junit插件将结果在nosetests.xml中发布到Jenkins .
我的问题:我如何使用不同的浏览器(Chrome,FF,IE,...等)运行相同的测试套件,并在同一个Jenkins作业中发布所有结果,并且仍然能够区分每个测试结果与使用的浏览器?
我正在考虑多次运行测试套件,每个都使用不同的浏览器,并在发布到Jenkins之前重命名每个nosetest报告中的测试,nosetests.xml,但我不认为这是一个优雅的解决方案 .
谢谢你的帮助
1 回答
这就是Jenkins设计的multi-configuration jobs(或矩阵作业) .
您可以指定一次作业配置,但添加一个或多个应该每次更改的变量,构建组合矩阵(在您的情况下,矩阵具有一个维度:浏览器) .
然后Jenkins运行一个具有多个子构建的主构建 - 一个用于矩阵中的每个组合 . 然后,您可以清楚地看到每种组合的结果 .
这要求您的测试作业可以参数化,即您可以在运行时选择应该运行哪个浏览器,而不是在一个作业中一起运行所有测试 .
Jenkins wiki有关于此功能的最少文档,但有一些关于如何设置它的好的blog posts(以及Stack Overflow问题) .