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配合使用的主要内容,如果未能解决你的问题,请参考以下文章

jmeter+ant+jenkins

jenkins 结合 jmeter 的报告篇

jenkins+jmeter结合使用

jenkins+ant+jmeter自动化性能测试平台

使用Maven Jenkins和JMeter自动化测试

Jenkins如何实现自动运行jmeter脚本并出具报告