【发布时间】:2022-07-13 16:53:55
【问题描述】:
我需要为两个不同的环境执行相同的 jmx 文件。两者的用户定义变量不同。如何通过 Jenkins 传递用户定义的变量来克服这个问题。
【问题讨论】:
标签: jenkins jmeter jmeter-5.0
我需要为两个不同的环境执行相同的 jmx 文件。两者的用户定义变量不同。如何通过 Jenkins 传递用户定义的变量来克服这个问题。
【问题讨论】:
标签: jenkins jmeter jmeter-5.0
在 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
【讨论】: