如何使用现有jenkins作业的参数化构建触发集成测试?

时间:2016-10-07 10:02:20

标签: jenkins selenium-webdriver cucumber-java

我在Jenkins(A到D)有4个链式自由式作业,用于连续交付。只要将更改推送到我的Git repostiroy,链接的作业就会以作业A开始。

上一个作业(作业D)正在运行我的Selenium测试,默认情况下针对firefox浏览器..但现在我计划在每晚的基础上对Chrome浏览器执行相同的测试..令人困惑的部分是如何配置作业以对Chrome浏览器执行测试

例如:(工作链)

A - > B - > C - > d

在我的情况下,我希望每晚都能运行工作A,但我希望能够在触发工作D时将目标浏览器指定为参数。

任何帮助都非常感谢!!

1 个答案:

答案 0 :(得分:1)

你不得不将目标浏览器作为参数传递给你的工作D.

将浏览器参数从A传递到D

您可以在作业A之前添加两个作业,这些作业将对您的不同配置做出反应。假设您添加了作业A1A2

将为A1配置作业Git pushes,并使用参数A触发作业targetBrowser = firefox,并为您的夜间配置作业A2构建,并将使用参数A触发作业targetBrowser = chrome。 然后,您将此浏览器参数传递给每个作业,直到作业D,在启动Selenium测试时将使用此参数。

所以你会:

enter image description here

自下而上而不是上下

相反,从作业A触发,您可以从作业D开始触发,并在每次执行操作之前调用上一个作业。

将为您的D1配置作业Git pushes,并为您的夜间版本配置作业D2。两者都将执行你的Selenium测试(针对Firefox的D1,针对Chrome的D2),但在此之前,他们将调用作业C,然后在执行其操作之前调用作业B,依此类推。

Schema看起来像这样:

enter image description here