【问题标题】:How to pass user defined variables file in Jmeter through Jenkins如何通过Jenkins在Jmeter中传递用户定义的变量文件
【发布时间】:2022-07-13 16:53:55
【问题描述】:

我需要为两个不同的环境执行相同的 jmx 文件。两者的用户定义变量不同。如何通过 Jenkins 传递用户定义的变量来克服这个问题。

【问题讨论】:

    标签: jenkins jmeter jmeter-5.0


    【解决方案1】:

    在 Jemeter 中,您应该能够从环境变量、系统变量或属性文件中读取属性。您可以参考this 从环境变量中读取。

    然后在 Jenkins 中,您可以在执行 Jmeter 脚本之前设置环境变量。在 Jenkins 中有很多方法可以做到这一点。下面是一个多阶段的例子。

    stage('Dev Testing') {
                steps {
                    script {
                             sh '''
                               TEST_HOST="http://dev.com"
                               {JMETER EXEcution}
                             '''
                       }
    
                }
            }
            
            stage('QA Testing') {
                steps {
                    script {
                            sh '''
                               TEST_HOST="http://qa.com"
                               {JMETER EXEcution}
                            '''
                       }
                }
            }
    

    其他选项

    正如我提到的,您可以使用 System properties 或带有 Jemter 脚本的属性文件。 This 是一个很好的教程。在 Jmeter 脚本中设置好之后,您可以从 Jenkins 生成属性文件或使用基于环境的适当属性文件。或者您可以将属性直接传递给 Jemeter 脚本,如下所示。

    jmeter -Jgroup1.threads=7 -Jhostname1=www.realhost.edu
    

    【讨论】:

    • 非常感谢你。作为您的答案,可以确定两种不同的环境。有没有办法两种区分用户定义的变量。对于 dev 和 staging,我们有不同的用户定义参数值。我还需要在同一个 jmx 文件中管理两个不同的用户定义变量值。
    • 您能详细说明一下吗?你是说根据环境,你也会有不同的参数集?
    • 是的,根据环境,我有不同的用户参数。例如:用户名和密码是参数。但这些因环境而异。我必须为两个环境维护两个用户定义的变量。但需要使用相同的脚本。
    • 用户名和密码变量不是对所有环境都通用吗?分配的值会改变,但我想变量会是一样的。
    • 不一样..值也因环境而异
    猜你喜欢
    • 1970-01-01
    • 2021-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多