如何为现有的詹金斯工作触发参数化构建的集成测试?
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 之前添加两个作业,这两个作业将对您的不同配置做出反应。假设您添加工作 A1
和 A2
:
作业 A1
将为您的 Git pushes
配置,并将使用参数 targetBrowser = firefox
触发作业 A
,作业 A2
将为您的每晚构建,并将触发带有参数 targetBrowser = chrome
的作业 A
。
然后,您可以将此浏览器参数传递给每个作业,直到作业 D,它会在启动 Selenium 测试时使用此参数。
所以你会有:
自下而上而不是自下而上
您可以从作业 A 开始触发,并在每次执行您的操作之前调用之前的作业。
作业 D1
将为您的 Git pushes
配置,作业 D2
将为您的夜间构建配置。两者都将执行您的 Selenium 测试(针对 Firefox 的 D1,针对 Chrome 的 D2),但在此之前它们将调用作业 C,后者将在执行其操作之前依次调用作业 B,依此类推。
架构如下所示:
我在 Jenkins 中有 4 个链式自由式作业(A 到 D),用于持续交付。每当将更改推送到我的 Git repostiroy 时,链式作业当前从作业 A 开始。
最后一项工作(工作 D)是 运行我的 Selenium 测试,默认情况下针对 firefox 浏览器..但现在我计划针对 Chrome 浏览器执行相同的测试,在每晚.. 令人困惑的部分是如何配置作业以针对 Chrome 浏览器
执行测试例如:(作业链)
A --> B --> C --> D
在我的例子中,我想每晚 运行 作业 A,但我希望能够在触发作业 D 时将目标浏览器指定为参数。
非常感谢任何帮助!!
您必须以某种方式将目标浏览器作为参数传递给作业 D。
将浏览器参数从 A 传递到 D
您可以在作业 A 之前添加两个作业,这两个作业将对您的不同配置做出反应。假设您添加工作 A1
和 A2
:
作业 A1
将为您的 Git pushes
配置,并将使用参数 targetBrowser = firefox
触发作业 A
,作业 A2
将为您的每晚构建,并将触发带有参数 targetBrowser = chrome
的作业 A
。
然后,您可以将此浏览器参数传递给每个作业,直到作业 D,它会在启动 Selenium 测试时使用此参数。
所以你会有:
自下而上而不是自下而上
您可以从作业 A 开始触发,并在每次执行您的操作之前调用之前的作业。
作业 D1
将为您的 Git pushes
配置,作业 D2
将为您的夜间构建配置。两者都将执行您的 Selenium 测试(针对 Firefox 的 D1,针对 Chrome 的 D2),但在此之前它们将调用作业 C,后者将在执行其操作之前依次调用作业 B,依此类推。
架构如下所示: