如何为现有的詹金斯工作触发参数化构建的集成测试?

How to trigger integration-tests with parameterised build for existing jenkins jobs?

我在 Jenkins 中有 4 个链式自由式作业(A 到 D),用于持续交付。每当将更改推送到我的 Git repostiroy 时,链式作业当前从作业 A 开始。

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

执行测试

例如:(作业链)

A​​ --> B --> C --> D

在我的例子中,我想每晚 运行 作业 A,但我希望能够在触发作业 D 时将目标浏览器指定为参数。

非常感谢任何帮助!!

您必须以某种方式将目标浏览器作为参数传递给作业 D。

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

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

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

所以你会有:

自下而上而不是自下而上

您可以从作业 A 开始触发,并在每次执行您的操作之前调用之前的作业。

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

架构如下所示: