Jmeter性能测试工具介绍
Jmeter背景介绍:
Apache JMeter是Apache组织的开放源代码项目,是一个100%纯Java桌面应用,用于压力测试和性能测试。它最初被设计用于Web应用测试但后来扩展到其它测试领域。
Jmeter环境配置:
1.Java环境配置:CLASSPATH、JAVA_HOME和PATH变量配置
2.Jmeter环境配置:JMETER_HOME和PATH变量配置
Jemter过程类元件介绍:
线程组:
线程组就相当于用户活动,一个线程组就相当于一个虚拟用户组,一个线程相当于一个虚拟用户。
名称:可以随意设置,可以设置比较容易识别的名称,例如:普及版等
注释:添加备注信息
在取样器错误后要执行的动作:就是在错误之后要如何执行,可选继续执行
后续的、停止执行等。一般情况选择“继续”
线程数:就是需要设置多少线程执行测试,主要模拟多人在使用
Ramp-up Period (in Seconds):用于告知JMeter 要在多长时间
建立全部的线程。
调度器:选中之后可以配置启动时间,立即或者预定的时间
HTTP请求默认值:
主要填写通用的服务器名称和端口号,以及协议,则其作用域内相同服务
器和端口号的HTTP请求,都不需要重复填写
HTTP信息头管理器
循环控制器:
可以设定其作用域下,HTTP请求的循环次数,实现压测的效果
仅一次控制器:
HTTP请求:
设置请求服务器、压力链接等信息,可以通过浏览器查看请求的域名和路
径,然后编辑HTTP请求。
1.GET请求案例:
场景:在win8环境下,进入机构管理后台à登陆
请求信息:通过Fire Fox,可以查看到进入未付款跟进过程中产生的请求信息
在Jmeter中编辑HTTP请求
2.通过POST发送请求案例:
场景:在win8环境下,进入机构后台à登陆
请求信息:通过Fire Fox,可以查看到筛选过程中产生的请求信息
在Jmeter中编辑HTTP请求:
Ps:图上post案例这个只是看看用法界面, 登陆见面发送的tekon是一个动态值(你抓包时候是1个token ,等实际用接口跑的话 那个值就变了。。是动态值)
token是 用户会话的 ID 要存进去 不然不让登录
问题1:为什么要加一个正则表达式提取器?
答:打开首页服务器分配个session 给当前浏览器用户 登陆时确保是当前用户 登录。提高安全性的。
匹配数字:1是代表取 1个 0是随机 -1 是全部(取值自己判断)
问题2:什么时候需要田添加正则表达式提取器
答:如果一个请求里面有动态参数 依赖其它请求的响应 就需要用正则表达式提取了
响应断言:
断言就是检查点。对上一个请求返回的信息,做字符串、数据包大小、
HTML、XML、图片等做判断,确保返回的信息的准确性。
案例:机构后台需要验证登陆成功后,发送HTTP请求时,是否会出现验
证未通过的状况,从而可以来筛选,哪些ID可能会有问题
Jmeter结果查看类元件使用介绍
查看结果树:
查看结果树主要用于功能测试,或者脚本调试和Debug时,可以比较直观
的查看到发送的请求内容是否正确、响应内容是否正确。便于进行脚本的修
改。
聚合报告:
通过聚合报告的查看,我们可以比较直观的看到与性能测试结果相关的
各项数据,便于我们来判断,哪些请求的性能会比较差。
聚合报告中,各项指标的说明:
1.Label:每个Jmeter的元素(例如HTTP请求)都有一个Name属性,这里显示
的就是Name属性值
2.#Samples:表示你这次测试中一共发出了多少请求,如果模拟10个用户,
每个用户迭代10次,那么这是显示100
3.Average:平均响应时间
4.Median:中位数,也就是50%用户的响应时间
5.90%Line:90%用户的响应时间
6.Min:最小响应时间
7.Max:最大响应时间
8.Error%:本次测试中出现错误的请求数量/请求的总数
9.Throughput:吞吐量,表示每秒完成的请求数,(number of requests) / (total time)
10.KB/sec:每秒从服务器端接收到的数据量
Jmeter其他介绍
接口参数来源:1.找开发要
2.用firebug直接查看
3.初学者可以用bad boy录制
4.可以用fiddler抓取