jmeter基础使用
下载安装jmeter
jmeter下载网址:http://jmeter.apache.org/download_jmeter.cgi
下载后图形化界面一步步按照即可。
Jmeter运行需要Java环境,5.1版本需要Java8以上,检查电脑Java的版本方法:在终端(Terminal)输入java -version
Java JDK下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
jdk安装好后需要配置环境变量。
打开jmeter
终端(命令行)进入jmeter目录下bin文件夹,执行sh jmeter语句,可打开jmeter图形化界面,如图:
jmeter界面
主要界面:
常用工具:
更换页面语言:
一个http request接口的例子:
生成csv和html性能测试报告
cmd 先要cd到jmeter的bin目录,然后输入以下命令:
jmeter -n -t /Users/jmeter/assertion.jmx -l /Users/jmeter/somefiles/assertion.csv -e -o /Users/jmeter/somefiles/html_report
三个路径依次是:xxx.jmx文件路径,输出xxx.csv文件路径,要保存的html report的文件夹路径。
添加思考时间
新增目录Thread Group->Simple Controller->多个HTTP Request->每个http request下新增一个Constant Timer配置好时间,Thread Group下再加一个View Results in Table,可查看运行结果,发现执行每个http request后停顿一段时间再执行下一个。
函数
日志函数log
http request的name填写:${__log(“message here”)}
,那么summary report等结果中的label一列就会显示:“message here”。
http request的name填写:${__log(“message here”)}你好
,那么summary report等结果中的label一列就会显示:“message here”你好。
http request的name填写:你好,那么summary report等结果中的label一列就会显示:你好。
时间函数time
http request的name填写:测试${__time(YYYY-MM-dd HH:mm:ss)},那么summary report等结果中的label一列就会显示“测试“+当前日期时间(固定位数,不够前面补0)。
注:y大小写均可,但需统一;年份可保留后两位;h代表12小时制,H代表24小时制。
标题整数求和函数intSum
多个参数:${__intSum(2,3,4,5)}
一个参数:${__intSum(2,)}
变量的调用
同一个thread group下两个http request,名称依次为:${__intSum(2,3,result)}你好
,${result}
。还有一个summary report。
运行后,summary report中label一列依次显示:5你好,5。
注:顺序反了就会显示:${result},5你好。
从csv文件读取变量
右键->add->config element,配置csv文件路径,若csv文件第一行写变量名,则该页面不用再配置别的。
http request页面配置,parameters部分填写入参名称和值,从文件读取的值格式:${orderId}。
thread group页面配置loop count可以和csv中值的数量一致。
注:执行次数为loop count,会循环读取csv文件表格中的行,包括空行。
csv文件有多个表格和表的时候没试过。
安装插件管理器
下载网址:https://jmeter-plugins.org/install/Install/
下载文件放到指定文件夹后,重启jmeter,如图:
使用步长插件设置负载场景
安装一个支持Pace的插件:jpgc-Standard Set。
点击add->Thread->jpgc stepping group,新建一个group。
页面配置如图(using ramp-up为0时,每次几个用户一次性进入;不为0时,每次几个用户在这个时间内进入):
jmeter内存不够用时
修改如图所示set HEAP的部分:
(-Xmx设置应用程序能够使用的最大内存数,-Xms设置程序初始化的时候内存栈的大小)