jmeter+Jenkins自动化性能测试高级用法

编程

问题背景

前两天,自己在搭建好了jmeter+Jenkins自动化性能测试后思考,若有时候我们需要修改并发数、测试时长或者请求地址变了之类的,难道我们需要一个个的去修改脚本么?有么有更加便利的方法?

解决方法

利用Jmeter 命令行下动态化参数传递和Jenkins的build with parameter。(大家有更好的方法,欢迎大家公众号里微我,分享出来一起进步)

具体操作

我们知道JMeter测试计划在运行Sampler之前会先加载运行属性(jmeter.properties,system.properties等)文件,而且JMeter还提供了方法可以动态修改属性,在命令行使用 -J 来指定JMeter Properties,脚本里面使用__P() 函数来获取命令中指定的属性值。

1、编写jmx脚本

在需要动态化参数的地方按照如下方式填写,此处是对线程数和持续时间进行了定义。

2、用命令行运行时候增加如下选项。

-JthreadCount=${thread_num}为脚本指定的线程数

其中thread_num变量值可以动态的从Jenkins页面自己填写。

-Jduration=${test_time}为测试计划要指定的测试时长

其中test_time变量值可以动态的从Jenkins页面自己填写。

3、配置Jenkins的build with parameter

安装插件build with parameter

然后在构建的按钮就会变成

 

这样每次构建都可以动态的传递参数值了,不用再手工去修改脚本。

简要验证

经过上面的配置后,接下来进行简要验证,配置是否正确。大家在点击build with parameter按钮后,弹出如下对话框,在这里我填写的线程数目是15,测试时长是30s。

点开构建运行时的控制台输出,可以看到,jmeter命令行正确的获取了前面填写的线程数值和测试时长。OK,大功告成!!!

ps:大家也可以用类似的方法尝试进行便捷的控制分布式压测。

以上是 jmeter+Jenkins自动化性能测试高级用法 的全部内容, 来源链接: utcz.com/z/515366.html

回到顶部