Jmeter自定义变量及命令行执行脚本
目录
Jmeter自定义变量、命令行执行脚本
在上一篇文章 Jmeter入门教程中介绍了Jmeter的安装及简单用法。本文主要介绍jmeter的自定义变量和使用命令行执行脚本。
jmeter参数化
上一篇中,当http请求带有参数的时候,我们就直接在脚本中写死,但有时候我们需要给参数传不同的值来模拟用户请求,这时,就需要将脚本与数据分开。也就是说,我们将参数的取值封装在一个数据文件中,然后脚本去读取这个文件中参数的取值,再传递给http请求去调用。
本文我们还是以百度接口为例,在上篇的例子上进行修改。
第一步
新建CSV Data Set Config,再编写数据文件(csv或txt),里面写参数的具体取值。
第二步
在CSV Data Set Config中引用刚编好的数据文件,注意引用路径最好是相对路径,并定义变量名为
search
。
第三步
现在我们就可以点击运行按钮进行执行压测了。可以在察看结果树这里看每个http请求详情,验证我们自定义参数的值是否传入http请求中。
命令行执行jmeter脚本
如果是要在服务器上执行jmeter脚本,那就得用命令行的形式,使用命令行的方式执行脚本,会生成两个文件:XXX.jtl(执行脚本过程中的监听结果,需要在windows的GUI界面打开察看)和XXX文件夹(存放的是执行脚本后的测试报告)。
命令参数
接下来简单介绍使用命令行执行jmeter脚本的常用参数:
- -t,–testfile:jmeter脚本存放的路径;
- -l,–logfile:生成jtl格式的测试报告;
- -n,–nongui:非界面形式运行脚本;
- -J,–jmeterproperty
= :自定义参数及取值; - -e,–reportatendofloadtests:generate report dashboard after load test;
- -o,–reportoutputfolder:生成html格式测试报告的文件夹;
jmeter的脚本建议用命令行来执行(降低GUI模式带来的性能损耗)。做性能测试的时候,有时候可能需要不停的去设置“线程组”那个界面的参数(例如线程数、循环次数、持续时间等),而每次修改参数后再运行感觉有点麻烦,JMeter提供了方法可以动态修改属性,在命令行中使用-J
来指定JMeter Properties,脚本里面使用__P()
函数来获取命令中指定的属性值。
下来以我们这个测试百度接口的脚本为例,脚本参数的设置如下:
试用命令行运行脚本,命令行如下:
|
|
当然,我们可以把命令封装成sh脚本,最后直接执行sh脚本并传参即可。
以上👆