jmeter的安装和简单使用
Jmeter是一款优秀的开源测试工具,就算是开发也要了解一下。
下载
window下载zip包即可
下载地址: https://jmeter.apache.org/download_jmeter.cgi
<img src=“https://cdn.jsdelivr.net/gh/cloudinwinter/myimage@master/blogImg/20221111/1202211141045073.png”/"/>
运行
解压后进入其bin目录找到jmeter.bat 即可
jmeter是java开发的,需要jdk1.8及以上版本,
默认使用的jvm参数 -Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m(影响到模拟的用户数)
了解更多:https://jmeter.apache.org/usermanual/get-started.html
切换中文
Options --> Choose Language --> Chinese
使用
测试计划
测试计划(Test Plan)描述了一系列Jmeter运行时将要执行的一系列步骤。完整的测试计划包含一个或者多个线程组,逻辑控制器,取样发生控制,监听器,定时器,断言和配置元件组成。
线程组
一般使用默认的线程组,一般一个线程组对应一个用户,当然限制域其运行的初始内存,如果线程数设置过多,可能导致报错,建议调整线程数
需要在测试计划下新建一个线程组,线程组配置如下,
区域一:在采样器失败后怎么处理(LoadRunner里面也有类似的运行设置选项,对比去学习):
- 1、continue:继续执行接下来的操作;
- 2、Start Next Thread Loop:开始下一次循环;
- 3、stop Thread:停止线程,退出该线程(不再执行此线程的操作);
- 4、stop Test:等待当前执行的采样器结束后,结束整个测试;
- 5、Stop Test Now:马上停止测试;
区域二:线程属性:
- 1、Number of Threads(users):线程数,相当于模拟的用户数量;
- 2、Ramp-up Period(in seconds):达到指定线程需要的时间,例如线程数为100,时间设定为10s,那么就是10s加载 100个线程,每秒启动的线程数=100/10=10;
- 3、Loop Count:如果填具体的数值,就是循环对应的次数;如果选择“Infinite”,则一直执行下去,直到手动停止;
- 4、Delay Thread creation until needed:延迟线程创建,直到需要才创建。
区域三:
Duration (seconds): 计划执行持续时间
Startup delay (seconds): 计划延迟多长时间执行
构建一个http请求
监听器-查看结果数
用于查看请求结果
运行执行计划
每运行一次,请求结果都在结果树中,如果需要清理之前的请求数据,点击扫把图标
添加断言和查看断言结果
每次请求后断言的结果会在查看结果书中有体现,不符合断言的显示红色
保存执行计划
关闭程序后,之前的执行计划会清空,所以需要点击保存,点击后会保存一个jmx文件,再次打开程序在菜单栏,file -> open 打开原先保存的文件,即可恢复数据
简单流程说明
如果线程组数量设置为2,线程组下有两个请求,那么运行的话,就相当于两个用户都一次访问了这两个接口
测试报告
监听器的一种
响应断言针对单个请求
看图就知道了,将响应断言放在请求下面
取样器返回结果乱码
修改bin目录下jmeter.properties
#sampleresult.default.encoding=ISO-8859-1
sampleresult.default.encoding=UTF-8
配置文件
你可以设置一些启动参数和配置,对于jmeter.bat启动的文件,在bin目录下添加setenv.bat即可,如果是jmeter.sh启动,添加setenv.sh,具体配置项可以参考官网快速启动页面,具体可参考meter.bat内容,
:: rem 表示注释
rem set HEAP=-Xms2g -Xmx2g -XX:MaxMetaspaceSize=512m
:: 设置语言
set JMETER_LANGUAGE=-Duser.language="zh" -Duser.region="CN"
# 设置后还是会打开cmd窗口,但是关闭cmd窗口程序不会受影响
:: set JM_LAUNCH=javaw.exe
set JMETER_HOME=D:\jeol\Desktop\apache-jmeter-5.5
三种模式
**三种使用模式:**GUI、客户端、远程模式,我们这里是GUI模式
A:GUI模式:主要用来设计测试计划,也可以作轻量级性能测试,图形端与压力端在本机
B:客户端模式:也称命令行模式,主要用来作性能压测
C:远程模式:也称分布式模式/集群模式,主要用来作性能压测,图形端与压力端在不同机器,该模式下压力机可水平扩容
客户端模式
jmeter.bat 启动后,打开jemeter的时候,会同步打开一个cmd窗口,其中启动信息如下
Don't use GUI mode for load testing !, only for Test creation and Test debugging.
For load testing, use CLI Mode (was NON GUI):
jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
& increase Java Heap to meet your test requirements:
Modify current env variable HEAP="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m" in the jmeter batch file
Check : https://jmeter.apache.org/usermanual/best-practices.html
不要使用GUI运行压力测试,GUI仅用于测试的创建和调试问题;执行压力测试请不要使用GUI。使用下面的命令来执行测试:
jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
然后就是增加Java堆以满足您的测试要求,你可以修改jmeter batch file
客户端模式命令参数:https://jmeter.apache.org/usermanual/get-started.html#non_gui
总结
到了就结束了,复杂的还是不会,比如在其中其中一个请求设置另一个请求的参数,函数使用,复杂的断言,公共的参数等等,大致就这样吧,后续有需要再进一步了解
关联信息
- 查看
- 上一篇:
- 下一篇:
- image: 20221021/1
- 转载自: