今天我带大家花几分钟时间创建一个Jmeter性能测试脚本。让大家快速对JMeter性能测试有个整体性的认识下.
我们要实现的测试计划是:
模拟10个用户依次在5s内先打开jmeter官网,然后再打开User Manual页面(http://jmeter.apache.org/usermanual/)进行查看。测试页面响应时间、错误率等指标
1.下载Jmeter
大家可以从Jmeter官网下载Jmeter压缩包,
也可以从百度网盘下载:链接: https://pan.baidu.com/s/1yUFpkb9Athcn5sOlpj8eJA 提取码: rjmp
下载好jmeter后,解压jmeter,
2.安装启动jmeter
解压下载好的Jmeter压缩包,进入bin目录,双击jmeter.bat启动jmeter启动,界面如下所示:
3.性能测试的原理
当用户打开某个网页时,就是向服务器发送请求,得到相应的过程,如果有多个用户进行操作,就可能会出现性能问题。
如果我们能知道一个用户发送了什么请求,使用程序来发送这个请求,并且能让这个请求发送若干次,那么使用程序就可以完成性能测试。
所以如果我们在jmeter测试脚本中写出我们的发出的请求,以及要模拟的用户数量 则我们可以完成性能测试。下面我们就一起编写第一个性能测试搅拌吧!
4.创建测试计划
刚启动jmeter就有一个空的测试计划,我们可以编辑它。
1)设置测试计划参数
如下所示,可以设置测试计划的名称、注释,
如果脚本中需要反复使用到某个值,可以设置为变量,在需要时通过变量名引用值。
图中创建一个名为web_server的变量,值为 jmeter.apache.org,
Run Thread Groups consecutively,这个选项的意思是各个线程组顺序执行,如果不勾选,就表示并行执行 ;
**Run teardown Thread Group after shutdown main thread **在主线程结束后运次teardown 线程组
Functional test mode(保存所有的取样和响应数据)功能测试模式。该模式对性能有不良影响。
2)为测试计划添加缓存管理器和cookie管理器
因为我们要模拟真实用户,所以我们现在连添加2个测试元件:缓存管理器和cookie管理器
缓存管理器在整个测试中将帮助管理用户缓存;
cookie管理器会在测试执行期间管理cookie,当然如果愿意,你也可以自己定义cookie。(也就是说jmeter要像真实用户使用浏览器访问网站时,浏览器会缓存和cookie管理一样,帮我们管理缓存和cookie)。
如下所示,添加HTTP Cookie管理器和HTTP缓存管理器
3)为测试计划添加线程组
我们可以在线程组里添加一组用户操作,而且我们可以设定要模拟多少用户来执行这些操作,
我们暂且先设置用户数和启动时间为1,待脚本调试好之后,我们再改成想要的虚拟用户数和启动时间
4)在线程组中添加jmeter官网请求
刚才我们创建了线程组,指定了要模拟多少个用户,现在我们要告诉Jmeter,每个用户要做什么操作。
在jmeter中,取样器完成实际的工作,其他元件都是为它服务。因为我们要访问jmeter官网主页,所以我们添加一个http请求。
可以看到我们需要填写HTTP请求的协议、ip、端口、请求方式、路径、编码方式和参数信息。
是不是看到有些蒙圈。
在这里需要给大家简单介绍下,一个简单URL地址,如何分解出它的协议,ip、端口号、路径和参数
例如,我们要访问的https://jmeter.apache.org/ ,它的协议是https,它的域名是jmeter.apache.org ,是method是get,path没有就空着,编码方式如无特殊设置,可以空缺
当然,也可以将域名引用我们之前定义的变量:**${web_server}**
5)添加User Manual页面的请求
操作同上,只是这次要添加请求的url是:https://jmeter.apache.org/usermanual/index.html
所以它的协议是https,它的域名是jmeter.apache.org** ,**是method是get,path是:/usermanual/index.html,编码方式如无特殊设置,可以空缺
6)添加监听器
下面我们来添加2个监听器:结果树和聚合报告。
执行测试计划后,结构树可以看到每个请求的发送情况以及响应情况。
聚合报告可以分析各个请求的响应时间、错误率、吞吐量等。
7)保存计划并执行
先保存测试计划为test001.jmx,然后运行一下吧.
如下运行测试脚本,查看结果树,可以看到每个请求的响应情况。请求是绿色表示正常响应,请求如果是红色表示响应出错。
下图中两个请求都显示为绿色,表明响应成功。
我们还可以设置响应结果的显示形式
我们尝试着模拟多个用户进行性能测试,如下所示,改为10个用户在5s内依次访问jmeter官网。
一般来说,页面的响应时间不应当超过3s;
错误率我们希望越小越好。0%。
吞吐量这个结果和我们的用户数量有密切的关系,我们希望系统能够有较大的吞吐量。
欢迎关注我的网易云课程
https://study.163.com/courses-search?keyword=%E8%BD%AF%E4%BB%B6%E6%B5%8B%E8%AF%95123#/?ot=5
版权归原作者 曹红杏 所有, 如有侵权,请联系我们删除。