4.1 手工编写第一个Jmeter性能测试脚本
今天我带大家花几分钟时间创建一个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
相关文章
- Jmeter下载安装配置—测试小白
- JMH基准测试
- 软件性能测试知识汇总[通俗易懂]
- 异步fifo的10个测试关注点_异步FIFO
- 性能测试第5讲:衡量软件性能的四个维度及其他性能测试相关知识
- 性能测试(第1集)第7讲:HTTP协议介绍及抓包工具使用
- 性能测试(第2集)第11讲:LoadRunner 关联
- 性能测试(第2集)第13讲:LoadRunner IP欺骗
- 性能测试|电商业务性能测试(二): Jmeter 参数化功能实现注册登录的数据驱动
- 接口测试|Fiddler设置过滤
- 性能测试技术笔记(一):如何快速上手压测工作
- G2L千兆网性能测试
- pytest学习和使用20-pytest如何进行分布式测试?(pytest-xdist)
- 微软「雅典娜」AI芯片项目曝光,已与OpenAI共同测试
- weblogic服务建立数据源连接测试更新mysql驱动包的问题及解决方法
- Shell脚本 | 性能测试之CPU占有率详解程序员
- Shell脚本 | 性能测试之内存详解程序员
- python性能测试脚本详解编程语言
- Linux下测试端口步骤及注意事项(linux测试端口)
- Jetpack Aviation已完成Speeder飞行摩托原型的首次测试
- Linux服务器压力测试:提高系统可靠性(linux服务器压力测试)
- Redis系统压力测试:改善性能的最佳方案(redis压测)
- MySQL的测试与性能提升(测试mysql)
- 测试Linux Nali游刃有余,安全测试一飞冲天(linuxnali)
- Linux AB 测试:提升网站性能的一种方式(linuxab测试)
- 如何测试Redis缓存性能(怎么测试redis缓存)
- 架构师开展Redis测试,稳步提升性能(架构师redis测试)
- 使用Redis集群加速性能测试(redis集群的性能测试)
- Oracle Sys测试优化系统性能的必备步骤(oracle sys测试)
- 利用Redis提高访问速度的测试研究(redis 访问速度测试)
- 数列科技宣布开源Takin:性能测试3.0时代来临
- 简单的ASP分页代码(测试正确)
- smarty模板嵌套之include与fetch性能测试