前言:我们用jenkins做持续集成的时候,常常需要跑不同的脚本,传不同的参数。尤其是性能基准测试,线程数和持续时间需要实时调整以满足我们的测试需求。那么是不是需求变了,我们 就需要重新准备一套脚本?或者说我们需要去GUI界面下调整线程数,再重新上传脚本去集成呢?这样繁琐的操作会导致效率大幅降低。我们需要一个动态参数去实现工作效率最大化!
解决方法
Jmeter动态命令行+Jenkins的build with parameter插件
具体实现
1:jmeter动态参数
JMeter提供了动态修改参数的方法,在命令行使用 -J 来指定JMeter 变量,在脚本里面使用__P() 函数来获取命令中指定的变量值
如下图:
2:jenkins动态参数
安装配置Jenkins的build with parameter
在项目配置中选择动态参数
项目构建的时候通过参数来进行构建
3:命令行传递动态参数
jmeter -JthreadCount=%threadCount% -JRanpup=%Ranpup% -Jcycle=%cycle% -Jtime=%time% -JHOST=%HOST% -n -t D:\360MoveData\Users\liwenliang\Desktop\GTP订单跟踪.jmx -l D:\360MoveData\Users\liwenliang\Desktop\Test\jmeter-data\result2\jtl\GTP接口自动化性能报告-%BUILD_NUMBER%-%time%.jtl -e -o D:\360MoveData\Users\liwenliang\Desktop\Test\jmeter-data\result2\html
动态参数不光可以控制线程和运行时间,也可以参数化运行脚本的名称,host。也可以运用在分布式上