目录
一、项目描述
二、测试步骤
三、http请求设置--保持默认即可
四、在线程组里设置场景
五、放监听器,运行并查看报告
一、项目描述:
被测网站:xqtesting.blog.51cto.com
指标:响应时间以及错误率。
场景:
![3e76b16244cb3dd9dbe89fae919fdf31.png](https://i-blog.csdnimg.cn/blog_migrate/89928e9504f2740c4adc0b9c3dfdf3a8.png)
二、测试步骤:
1.测试计划--添加线程组。在线程组里设置场景。
2.右键线程组--取样器--添加http请求。http请求里面填写服务器名称(域名)或IP,选择请求的方法。
3.监听器:聚合报告和察看结果树。
4.运行脚本。
5.查看报告。
三、http请求设置--保持默认即可。
名称:本属性用于标识一个取样器,建议使用一个有意义的名称。
注释:对于测试没有任何作用,仅用于记录用户可读的注释信息。
服务器名称或ip:http请求发送的目标服务器名称或ip地址。
端口号:目标服务器的端口号,默认值为80。后面的超时定义可以不用填写。
协议:向目标服务器发送http请求时的协议,可以是http或者是https,默认值为http。
方法:发送http请求的方法,可用方法包括get、post、head、put、options、trace、delete等。
content encoding:内容的编码方式。
路径:目标url路径(不包括服务器地址和端口)。如果不知道,就保持空的就行。
自动重定向:如果选中该选项,当发送http请求后得到的响应是302、301时,Jmeter自动重定向到新的页面。
如果不知道怎么填写,就填下服务器名称或ip,选择请求的方法即可,其它不填写为默认。
use keep alive:当该选项被选中时,Jmeter和目标服务器之间使用keep-alive方式进行http通信,默认选中。
use multipart/from-data for http post:当发送http post请求时,使用use multipart/from-data方法发送,默认不选中。
同请求一起发送参数:在请求中发送url参数,对于带参数的url,Jmeter提供了一个简单的对参数化的方法。用户可以将url中所有参数设置在本表中,表中的每一行是一个参数值对(对应url中的名称1=值1)。
同请求一起发送文件:在请求中发送文件,通常,http文件上传行为可以通过这种方式模拟。
用的比较少:
从html文件获取所有有内含的资源:当该选项被选中时,Jmeter在发出http请求并获得响应的html文件内容后,还对该html进行parse并获取html中包含的所有资源(图片、flash等),默认不选中,如果用户只希望获取页面中的特定资源,可以在下方的embedded urls must match 文本框中填入需要下载的特定资源表达式,这样只有能匹配指定正则表达式的url指向资源会被下载。
用作监视器:此取样器被当成监视器,在monitor results listener中可以直接看到基于该取样器的图形化统计信息。默认为不选中。
save response as MD5 hash?:选中该项,在执行时仅记录服务端响应数据的MD5值,而不记录完整的响应数据。在需要进行数据量非常大的测试时,建议选中该项以减少取样器记录响应数据的开销。
一般情况下没啥特殊需求,全部保持默认就行。
四、在线程组里设置场景
线程数:虚拟用户数。
![ecc07b067cec89954f282455114471da.png](https://i-blog.csdnimg.cn/blog_migrate/2eb943a03abcb8ade5c8590ad058c729.png)
ramp up period:设置的虚拟用户数需要多长时间全部启动。如果线程数为20,时间为10,也就是每秒钟启动2个线程。
循环次数:每个线程发送请求的次数。如果线程数为20,循环次数为10,那么每个线程发送10次请求。总请求数为20*10=200。如果勾选了“永远”,那么所有线程会一直发送请求,一到选择停止运行脚本。
总共运行的时间:10*10=100秒。
“永远”勾上就进入死循环了。
调度器:可以更灵活的设置运行时间等。
五、放监听器,运行并查看报告
右键线程组--监听器--察看结果树。右键线程组--监听器--聚合报告。
这时候相当于把监控放上去了。点击运行按钮。
这个按钮变出来说明运行完成了:
![65d82eaea1664a3d963a9eebde16f293.png](https://i-blog.csdnimg.cn/blog_migrate/cc70cac022ddd6731e82047367a34c7c.png)
样本是请求次数,中位数是50%响应时间,最小值是最小响应时间,最大值是最大的响应时间:
![076b4c8e16f99164f98e479df8c59439.png](https://i-blog.csdnimg.cn/blog_migrate/7613a5f30448957675c4f6f40e979d87.png)
label:定义http请求名称。
Jmeter的响应时间的单位是毫秒。
异常%:错误请求的数量/请求的总数。
KB/Sec:每秒从服务器端接收到的数据量。
吞吐量:默认情况下表示每秒完成的请求数。
所有数据写入一个文件:可以把数据保存到一个文件里面。保存文件的后缀是.jtl。后面的“配置”可以根据需要去配,一般情况下默认都不要动。
这些失败是51cto这个网站做了限制造成的:
![6958f95448b466ae1b0af5a2775d46dc.png](https://i-blog.csdnimg.cn/blog_migrate/6a2fd5fe862cc3242cfcf3a356e0fff2.png)
之前执行过测试,再次执行测试的话,结果都是累加的。进行新一轮测试的时候需要点击这个全部清除了:
![0e13ca04385956b85c8a53e299907203.png](https://i-blog.csdnimg.cn/blog_migrate/ec9755af0e1cde8403bc262de84aa0be.png)
服务器或ip换成www.sogou.com,再次执行一下:
![f3063ce1ea54da334f5c0af42536c0dc.png](https://i-blog.csdnimg.cn/blog_migrate/a43eb7d97f56fdaaad8474e54af88ffc.png)
这次就没有失败的了。
当一个请求的时候,聚合报告和观察结果树放在请求下面或者并行,都是执行的这个请求。如果有多个请求的话,聚合报告和观察结果树放的位置就有说法了。
本篇文章是本人看xqtesting.blog.51cto.com作者的讲课整理的笔记。文章中的图片是本人的截图实操。需要了解更多性能测试知识可以看该作者的51cto博客。