我正在为Jenkins内部的网络应用程序运行UI测试。由于我不希望每次都运行所有测试,我正在寻找一种方法来为Jenkins中的一个作业提供多种配置。
测试全部由一个命令触发,该命令传递应该执行的测试用例的标记(准确地说是黄瓜方案标记)。标签字符串如下所示:
`--tags @payment, @login`
在此示例中,将运行付款和登录测试。
目前,我有一个参数化的自由式作业,每天运行几次测试。标记作为环境变量传递给执行shell构建步骤。
我的目标是在不同时间触发多个配置(=不同的标签字符串)。例如,每10分钟触发一次登录测试,每天一次付款,每周只触发一次some_other_testcase。
可以在Jenkins的一个工作中设置这样的东西吗?或者更容易创建多个作业,一对一的标签组合?
我目前正在尝试使用多配置项目来设置这个,但我不确定这应该如何工作,或者不确定这是否可行。
答案 0 :(得分:2)
我的目标是在不同时间触发多个配置(=不同的标签字符串)。例如,每10分钟触发一次登录测试,每天一次付款,每周只触发一次some_other_testcase。
为每个触发器创建一个自己的项目,该项目调用另一个参数化项目并传递应该执行测试用例的信息。
缺点是你将测试结果混合在一个工作中。
的另一种方式是创建作业并使用不同的配置和触发器复制它。
如果要使用多配置项目,根据时间触发不同类型的测试用例会很复杂。
答案 1 :(得分:1)
Jenkins Multi-configuration (Matrix) project旨在同时执行从其轴导出的cartesian product版本。它并不意味着在不同的时间运行具有不同配置的构建。
所以,我会做以下事情:
触发器项目使用构建后操作→在其他项目上触发参数化构建以触发实际构建,并将相应的标记作为参数在指定的时间间隔内。