如何将参数从Jenkins传递到Ant脚本?

时间:2012-05-18 05:33:39

标签: ant jenkins sahi

对于某些GUI测试,我正在为每个要测试的GUI模块创建一个Jenkins任务。 一旦创建我使用Ant来构建这些测试,但是我不知道如何将参数从Jenkins传递到Ant构建文件?基本上我如何在Ant中进行变量替换?

我正在使用Sahi框架来测试GUI组件,因此流程就像这样......

Jenkins→Ant构建脚本→执行Sahi文件

任何人都可以看一下吗?

3 个答案:

答案 0 :(得分:13)

"使用ant -Dname = value可以在Ant命令行上定义属性的值。" http://ant.apache.org/faq.html#passing-cli-args

当你调用任何使用$ {variablename}

时,使用jenkins参数作为变量

https://wiki.jenkins-ci.org/display/JENKINS/Parameterized+Build

答案 1 :(得分:2)

点击jenkins工作的“配置”部分下的“高级”,然后使用"属性"将参数值传递给Ant脚本的部分。 例如

jenkins.param = 10 ant.prop = $ jenkins.param其中jenkins.param是jenkins作业中定义的参数。 现在在您的ant构建脚本中,您可以使用$ {ant.prop}获取值。

答案 2 :(得分:-1)

从Jenkins到 SAHI Pro 通过ANT。

在您从Jenkins调用的ant目标中,在sahi标记内提供以下内容。

  <customfield key="variable_name" value=" variable _value"/>

现在,来自Jenkins的这些值将通过ant目标在SAHI Pro中提供。要在SAHI中检索它们,您应该在 testrunner 文件的“CUSTOM_FIELDS”中设置它们。

例如: SET CUSTOM_FIELDS = -variable_name jenkinsToSahiVariable

其中-variable_name应与您在ant目标中设置的密钥相同。第二个字符串将包含您从Jenkins设置的值。要在sahi文件中获取此信息,请使用sahiSuite API,如下所示。

  $jenkinsValues = _suiteInfo();
  $sahiVariable = $ jenkinsValues ["jenkinsToSahiVariable"];