有没有办法通过Jenkins覆盖config.properties文件中包含的值?

时间:2017-10-25 16:17:46

标签: jenkins properties jenkins-plugins config properties-file

有没有办法通过Jenkins覆盖config.properties文件中包含的值?

我的自动化框架中包含以下config.properties文件: 浏览器=铬 URL = HTTP // www.example.com

如果chrome的值变为firefox,则所有测试现在都将在firefox浏览器中执行。

我可以通过直接访问config.properties文件手动更改此值,但是可以通过jenkins更改值吗?

2 个答案:

答案 0 :(得分:0)

我使用Pipeline Utility Steps插件来读取属性文件,看起来它可以写一些其他类型的文件,但不能写属性文件。

在我看来,您希望在此文件中进行此更改,以便您可以先在一个浏览器中运行某些测试,然后在另一个浏览器中运行。如果是这种情况,我认为更好的方法是尝试让您的测试指向不同的文件。这有点干净,并允许并行执行之类的东西,当你发现将来需要改变另一件事时,你不会在脚本中写这么多东西到文件中,这容易出错。

如果无法对不同的属性文件执行测试,则可以获得所需的每个文件的副本,然后将它们复制到适当的文件名以执行测试。

但也许我对你的设置做了很糟糕的假设。 ;)

答案 1 :(得分:0)

您可以创建一个构建参数作为$ browser来接受值" firefox"并使用sed inside"执行shell",替换config.properties中的值。 完成后,执行脚本。

这只是概述,因为您没有发布有关config.properties文件的详细信息,它的位置,如果您使用的是Jenkins作业或jenkinsfile /管道等等。