【问题标题】:JMeter & Jenkins - passing jmeter parameters to downstream buildJMeter 和 Jenkins - 使用 jmeter 参数进行下游构建
【发布时间】:2018-01-16 21:11:23
【问题描述】:

设置 - 使用 jenkins 参数 testApp 和 testEnv 的 jenkins 作业。执行批处理如下所示:

C:\jmeter\apache-jmeter-3.2\bin\jmeter.bat -n -t 
C:\JMeter\Scripts\API_scripts\%testApp%.jmx -Jtestenv=%testEnv% -JtestApp=%testApp% -JtestBrowser=NA -l 
C:\AUTO_Results\jtl\%testApp%_%testEnv%.jtl

构建后操作

使用全局规则解析控制台输出(构建 lob),以便在 Jenkins 控制台窗口中记录的失败将认为 JMeter 脚本失败。 (讨论Jenkins shows JMeter script failure even though the script actually passed

触发的参数化构建 - 这是一个单独的 jmeter 脚本,它使用 PASS/FAIL 更新 wiki 页面并上传 JMeter 报告。

问题 - 如何让下游触发构建使用上游脚本中的参数?我设置了 Parameter = Current 构建参数,但它没有应用这些参数。另外,在上游构建完成之前,我不会知道 testResult 参数的值。我尝试将 %testResult%=PASS 添加到“预定义参数”框中

【问题讨论】:

    标签: jenkins jmeter


    【解决方案1】:

    根据Parameterized Trigger Plugin页面:

    参数部分可以包含以下一项或多项的组合:

    • 一组预定义的属性

    • 从触发构建的工作区读取的属性文件中的属性

    • 当前构建的参数

    • Subversion 版本:确保触发的项目使用与触发版本相同的版本构建。您仍然必须确保这些项目实际配置为签出正确的 Subversion URL。

    • 将矩阵执行限制为子集:允许您指定与在矩阵项目配置中使用的相同的组合过滤器表达式,并进一步限制要运行的下游矩阵构建的子集。

    因此,您基本上需要从当前的“下游”作业中复制您希望在“下游”作业中拥有的参数。


    作为当前性能插件限制的解决方法,您可以考虑使用Taurus 工具作为包装器运行JMeter,它具有灵活而强大的pass/fail criteria 子系统,基本上将返回到Jenkins 非零退出代码,以防万一触发构建失败测试中的问题。如果一切顺利,金牛座退出代码将为 0,詹金斯认为这是成功的。查看How to Run Taurus with the Jenkins Performance Plugin 文章了解更多详情。

    【讨论】:

    • 再次感谢德米特里。你摇滚!!
    猜你喜欢
    • 2016-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-08
    相关资源
    最近更新 更多