Jmeter Http接口性能测试
1. 启动Jmeter
Jmeter下载解压即可使用,Jmeter启动,点击D:\ProgramFiles\jmeter\apache-jmeter-2.8\bin下的jmeter.bat就可以了。
2. 添加线程组
如下图添加线程组
线程组相当于loadrunner的vuser,这里配置线程组的各项内容。主要有以下几点需要配置:
1)线程数:设置发送请求的线程数目。
2)Ramp-up period: 就是总共设定的线程数据在多长时间内启动。比如设定了100s和10个线程,那么每10秒钟就会启动一个线程。
3)循环次数:请求发生的重复次数,如果选择后面的“永远”(默认),那么 请求将一直继续,如果不选择“永远”,而在输入框中输入数字,那么请求将重复指定的次数,如果输入0,那么请求将执行一次。
4)调度器:这个调度器是用来设定运行的时间的,启动时间和结束时间都是必须要设定的。如果当前时间没有到达启动时间则会等待,如果当前时间到达了结束时间,线程会被停止。
3. 添加HTTP请求
下图展示如何添加HTTP请求
添加了HTTP请求会有如上的界面,这个界面用来设置HTTP请求的。主要需要设定的点有以下几项:
1)Web服务器:需要填入请求的服务器名称;接口的端口号;连接和响应的时间阈值,如果连接超时或者响应时间超时则判断为失败;路径为跟在服务器名后的请求路径;。
2)HTTP请求:设置实现方式,可以选择发送的方式;协议为我们使用到的协议;以及发送使用是get还是post方式,还可以设置编码如,GBK;路径为请求的url路径,不包括IP或服务器名后的部分。
3)同请求一起发送的参数:这里可以设置参数,值的话可以自己输入也可以使用自定义的变量\$
来表示很多的实例中选择一个。
4. 添加参数
在上面请求中我们可以看到使用了\$
这样的结果,这就是用户定义的参数。参数实现的方式有好几种,由于一般在做性能测试时,数据量会比较大,因而一般使用csv Data Set Config来设置参数。
上面就是csv data config的设置界面,各个界面解释如下:
Filename:就是数据文件的地址,可以是绝对地址也可以是相对地址。如果直接像图中这样填名字,则需要将数据文件放到和测试计划相同的目录下。
1)File encoding:读取文件的编码
2)Variable Names:参数的名称,多个参数,则使用逗号来分开,如,name,password。
3)Delimiter:文件中分割记录的分割符号,比如我们用tab就是\t。
4)Allow quoted Data:一般取false就可以了。但是如果有些特殊的就可以设置True。
5)Recycle on EOF:值为True则允许循环取值,也就是说如果文本中所有数据都被取完了一次,则重新从文件的第一行取值。如果为false那么就会更具下面的Stop thread on EOF来执行动作。
这种参数可以设置多个,然后在HTTP请求的设置参数。这种参数设置方法用到的比较多,无论是HTTP、java等等的sample中都可以使用。
5. 添加监听器
监听器一般是用来给出结果的。可以通过添加监听器查看请求响应时间、响应数据等。有时候监听器会严重影响到Jmeter客户端的性能。如果要给出性能结果,最好就不要添加IO操作过多的监听器了。但是在调试过程以及接口测试中可以使用这些监听器,如,结果树等。
从上面可以看到有很多的监听器,在性能测试中选择必要的监听器。对于没有用的监听器可以先删除。
一般在调试的时候会用到查看结果数、用表格查看结果等监听器。这里可以看到详细的请求和返回内容。
聚合报告中就会有整个场景的聚合报告,会提供响应时间、QPS等等数值。我们可以根据需要添加监听器。
6. 启动测试计划
上图中的运行中的启动和下面的图形化工具中的绿色箭头可以启动测试计划。