jmeter 软件测试
1、性能测试是什么
- 接口测试
- 性能测试
- 压力测试
- Web自动化测试
- 数据库测试
2.4、jmeter安装和环境配置
Windows下安装jmeter
登录http://jmeter.apache.org/download_jmeter.cgi ,根据自己平台,下载对应文件
配置java环境
1、在系统变量中新建
变量名:JAVA_HOME
变量值:安装包的路径

2、继续新建
变量名:CLASSPATH
变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

3、在用户变量中添加path
%JAVA_HOME%\jre\bin
%JAVA_HOME%\bin

此时环境就配置好了
4、将下载的Jmeter文件解压,打开/bin/jmeter.bat

双击进入 可能会有命令框 不要退掉命令框哦

3、基本功能介绍
|
1.测试计划是使用 JMeter 进行测试的起点,它是其它 JMeter 测试元件的容器。
|
|
2.线程组:代表一定数量的并发用户,它可以用来模拟并发用户发送请求。实际的请求内容在Sampler中定义,它被线程组包含。可以在“测试计划->添加->线程组”来建立它,然后在线程组面板里有几个输入栏:线程数、Ramp-Up Period(in seconds)、循环次数,其中Ramp-Up Period(in seconds)表示在这时间内创建完所有的线程。如有8个线程,Ramp-Up = 200秒,那么线程的启动时间间隔为200/8=25秒,这样的好处是:一开始不会对服务器有太大的负载。线程组是为模拟并发负载而设计。
|
|
3、取样器(Sampler):模拟各种请求。所有实际的测试任务都由取样器承担,存在很多种请求。如:HTTP 、ftp请求等等。
|
|
4、监听器:负责收集测试结果,同时也被告知了结果显示的方式。功能是对取样器的请求结果显示、统计一些数据(吞吐量、KB/S……)等。
|
|
6、断言:用于来判断请求响应的结果是否如用户所期望,是否正确。它可以用来隔离问题域,即在确保功能正确的前提下执行压力测试。这个限制对于有效的测试是非常有用的。
|
|
7、定时器:负责定义请求(线程)之间的延迟间隔,模拟对服务器的连续请求。
|
|
5、逻辑控制器:允许自定义JMeter发送请求的行为逻辑,它与Sampler结合使用可以模拟复杂的请求序列。
|
|
8. 配置元件维护Sampler需要的配置信息,并根据实际的需要会修改请求的内容。
|
|
9. 前置处理器和后置处理器负责在生成请求之前和之后完成工作。前置处理器常常用来修改请求的设置,后置处理器则常常用来处理响应的数据
|
线程:一个线程可以控制或操作同一个进程里面的其它线程
线程组:按照线程性质对线程分组
3.1、创建线程组



|
一个HTTP请求有着许多的配置参数,下面将详细介绍:
|
|
名称:本属性用于标识一个取样器,建议使用一个有意义的名称。
|
|
注释:对于测试没有任何作用,仅用户记录用户可读的注释信息。
|
|
服务器名称或IP :HTTP请求发送的目标服务器名称或IP地址。
|
|
端口号:目标服务器的端口号。
|
|
方法:发送HTTP请求的方法,可用方法包括GET、POST、HEAD、PUT、OPTIONS、TRACE、DELETE等。
|
|
Content encoding :内容的编码方式,默认值为iso8859
|
|
路径:目标URL路径(不包括服务器地址和端口)
|
端口号不填默认为80 填写完成后
创建察看结果树

创建聚合报告

聚合报告中包含性能指标

|
lable:对应每一个http请求,显示的是http请求的Name,如百度http请求name为baidu
|
|
#Samples:表示这一次的测试中一共发出了多少请求,如上图所示,sougou和baidu的http请求每个都发出2个请求
|
|
Average:平均响应时间,指的是所有的请求的平均响应时间,如上图的2个请求的总的响应时间除以2得出的平均响应时间,默认的情况下是单个请求的平均响应时间,但当使用了“事务控制器”时,则以事物为单位显示平均响应时间
|
|
Median:中位数,也就是50%用户的响应时间
|
|
90%Line:90%用户的响应时间
|
|
Min:最小响应时间
|
|
Max:最大的响应时间
|
|
Error%:本次测试中出现错误的请求的数量/请求的总数,如上图所示,本次的测试中,sougou的http请求66.6%的请求出错,而baidu的请求则没有出错的请求
|
|
Throughput:吞吐量,默认情况下表示每秒完成的请求数,如上图所示,每秒完成的请求数分别为6.6个每秒,6.2个每秒
|
|
Recived KB/Sec:每秒从服务器端接收到的数据量,以kb为计算的单位
|
点击绿色三角 执行线程
点击察看结果树 能看到返回的数据

3.3、逻辑控制器的使用
3.3.1、创建事务控制器
然后在创建一个HTTP请求 添加相应的请求地址
勾选上
勾选后就是将请求放在事务中了

那我们就看看没勾选的吧

那这个baidu2的请求就不属于事务中的啦
3.3.2、循环控制器

在其中设置循环次数并创建所需要的HTTP请求

在这里我设置了循环两次

3.3.3、创建定时器
固定定时器
设置间隔时间 就会发现baidu1执行完成后300m后baidu2才开始执行的

防止混乱执行

3.4、CSV数据文件设置

创建批量请求的文件

选择创建好的文件

添加对应的数据 和设置变量

并且在HTTP请求中添加已经创建好的变量

然后我们根据封装数据的条数来设置相对应的线程数

开始执行

执行成功啦

浙公网安备 33010602011771号