jmeter+Jenkins配合使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jmeter+Jenkins配合使用相关的知识,希望对你有一定的参考价值。
参考技术A 问题背景jmeter脚本在远程服务器上执行,怎么自动化更新脚本并且执行?
解决方法
利用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:大家也可以用类似的方法尝试进行便捷的控制分布式压测。
jenkins+jmeter结合使用
事件背景:想实现jmeter每30分钟执行一次,但是夜里不能人工操作,结果度娘,汇总结果如下
1.配置jmeter测试环境,注意修改Jmeter的bin目录下jmeter.properties文件的配置:jmeter.save.saveservice.output_format=xml (省略)
2.使用jmeter生成一个测试脚本(省略)
3.下载xsltproc文件并解压
4.在“系统管理---插件管理”下搜索并安装performance plugin,便于生成jmeter的测试报告
5.新建一个自由风格的任务
6.配置一些参数,根据自己的情况如丢弃旧的构建,源码管理方式,然后在“构建---增加构建步骤”处,选择添加“Excute Windows batch command”, 配置jmeter的执行命令(注意:%WORKSPACE%即是当前任务的workspace,一般在C盘用户文件目录的.jenkins\jobs下
7.再添加一个“Excute Windows batch command”,配置命令调用xsltproc将生涩难读的jtl报告文件转换为html文件:
8.在“构建后操作”下,选择“Publish Performance test result report”生成一个jtl报告
9.在“构建后操作”下,选择生成一个html报告
10.保存并返回任务界面,选择立即构建,将会自动执行脚本并生成Jtl与html测试报告
11.点开html测试报告,即可看到高可读性的报告内容:
注意:由于html报告上右边的“+”与“-”号需要调用jmeter目录下extras子目录中的expand.png与collapse.png文件才可显示完全,所以要想界面好看可以把这两个文件复制到与html报告同一个目录
non-GUI方式执行Jmeter
non-GUI方式执行Jmeter的命令:
jmeter.sh -n -t test.jmx -l result.jtl --jmeterproperty threadCount=${CONCURRENCY} --jmeterproperty LoopCount=${LOOPCOUNT} --jmeterproperty adclient=${SERVER} --jmeterproperty UrlFile=path.log --jmeterproperty RampUp=${RAMPUP} --jmeterproperty throughput=${THROUGHPUT}
说明:
-n 非 GUI 模式 -> 在非 GUI 模式下运行 JMeter
-t 测试文件 -> 要运行的 JMeter 测试脚本文件
-l 日志文件 -> 记录结果的文件
–jmeterproperty设置test.jmx中的属性(见“Jmeter GUI上制定测试计划”部分)
参考博客地址:http://www.gyruihua.com.cn/228/dushu990/article/details/51680707
以上是关于jmeter+Jenkins配合使用的主要内容,如果未能解决你的问题,请参考以下文章