Jmeter接口测试

 http(s)接口测试 

a)打开Jmeter,右键测试计划——添加——Threads(users)——线程组

 

 在线程组属性中可以设置线程数、Ramp-Up Period(in seconds)(即开始测试后在多少秒内达到设置的线程数(并发数))以及循环次数。默认都是1,即在一秒内起一个线程发起一次请求。

 

b)右键线程组——添加——Sampler——HTTP请求

 

 在web服务器区域设置测试接口的服务器名或ip、端口号、连接或响应超时时间(ms),在HTTP请求区域设置接口的协议、方法、编码以及路径,在同请求一起发送参数区域点击添加按钮,添加接口所需的参数,需要几个添加几个。填写示例如下:

 

 

 完成a)、b)两步后,一个最简单的HTTP请求类型的接口就配置完成了,接下来需要配置对测试过程及结果的监控和记录。

 

c)右键线程组——添加——监听器——查看结果树、右键线程组——添加——监听器——聚合报告

查看结果树用来查看单次请求的请求及响应情况,包括请求耗时、请求参数、响应结果等,具体示例如下:

 

 

 测试结束可以在聚合报告中查看本次测试的整体性能指标,主要看平均响应时间、90%line、错误率、Throughput以及网络传输速率。

 

 平均响应时间:默认情况下是单个Request的平均响应时间(ms)

Median:中位数,也就是50%请求的响应时间

90%line:90%的请求的响应时间

错误率:本次测试中失败的请求数在所有请求中所占的比例

Throughput:简称tps,默认情况下表示每秒处理的请求数,也就是指服务器处理能力,tps越高说明服务器处理能力越好

网络传输速率:每秒从服务器端接收到的数据量,当系统性能瓶颈不在于服务端处理速度,而在于网络传输速率时,提高网络传输速率在一定程度上能提高Throughput

 

d)当需要使用大量数据源压测时,可以右键接口名——添加——配置元件——CSV Data Set Config工具从本地加载事先准备好的.txt或.csv文件,如有多个参数在文件里可以用,或tab分隔。然后在接口的参数列表中使用${参数名}调用文件里的参数。示例如下:

 

 

 Filename:和脚本(保存的压测文件)同路径只需填写文件名称,如果不是需填写全路径

File encoding:编码和文件保持一致即可,默认是ANSI,如有中文建议utf-8

Variable names:参数名称,参数之间可用,或tab分隔

Delimiter:分隔符

Allow Quoated data: 双引号相关,例:如果参数中需包含,或者”等,该项可以选择True

Recycle on EOF: 设置为True后,允许循环取值

Stop Thread EOF: 当Recycle on EOF为false并且Stop Thread EOF 为true,则读完csv文件中的记录后,停止运行,线程数及执行次数无效

Sharing Mode:共享模式: 
All threads:所有线程,所有线程循环取值,线程1取第一行,线程二取下一行

Current thread group:当前线程组,各个线程组分别循环取值

Current thread:当前线程,该测试计划内的所有线程都取第一行

 

(ps:以上所说的接口不涉及登录,涉及登录的也简单,添加个HTTP Cookie 管理器和登录接口即可)

posted @ 2019-12-26 11:23  章鱼泡泡  阅读(169)  评论(0)    收藏  举报