jmeter进行接口测试

1 jmeter主要元件

1、测试计划:是使用 JMeter 进行测试的起点,它是其它 JMeter测试元件的容器

2、线程组:代表一定数量的用户,它可以用来模拟用户并发发送请求。实际的请求内容在Sampler中定义,它被线程组包含。

3、配置元件:维护Sampler需要的配置信息,并根据实际的需要修改请求的内容。

4、前置处理器:负责在请求之前工作,常用来修改请求的设置

5、定时器:负责定义请求之间的延迟间隔。

6、取样器(Sampler):是性能测试中向服务器发送请求,记录响应信息、响应时间的最小单元,如:HTTP Request Sampler、FTP Request Sample、TCP Request Sample、JDBC Request Sampler等,每一种不同类型的sampler 可以根据设置的参数向服务器发出不同类型的请求。

7、后置处理器:负责在请求之后工作,常用获取返回的值。

8、断言:用来判断请求响应的结果是否如用户所期望的。

9、监听器:负责收集测试结果,同时确定结果显示的方式。

10、逻辑控制器:可以自定义JMeter发送请求的行为逻辑,它与Sampler结合使用可以模拟复杂的请求序列。

2 各元组的作用域和执行顺序

2.1.元件作用域

配置元件:影响其作用范围内的所有元件。

前置处理器:在其作用范围内的每一个sampler元件之前执行。

定时器:在其作用范围内的每一个sampler有效

后置处理器:在其作用范围内的每一个sampler元件之后执行。

断言:在其作用范围内的对每一个sampler元件执行后的结果进行校验。

监听器:在其作用范围内对每一个sampler元件的信息收集并呈现。

总结:从各个元件的层次结构判断每个元件的作用域。

2.2.元件执行顺序:

配置元件->前置处理器->定时器->取样器->后置处理程序->断言->监听器

注意事项:

1.前置处理器、后置处理器和断言等组件只能对取样器起作用,因此,如果在它们的作用域内没有任何取样器,则不会被执行。

2.如果在同一作用域内有多个同一类型的元件,则这些元件按照它们在测试计划中的上下顺序依次执行。

3 jmeter进行接口测试

3.1 使用jmeter进行接口测试的基本流程

测试计划 ——> 线程组 ——> HTTP Cookie管理器——> Http请求默认值 ——>Sampler(HTTP请求) ——>断言——>监听器(查看结果树、图形结果、聚合报告等)

3.2 GET类型接口脚本编写
-> 在测试计划下建立一个线程组
测试计划在这里可以理解一个空白项目,测试计划下的线程组可以理解为用户,我们编写的脚本执行时候可以看成用户发起的请求
线程组可以看成一个用户,线程组中每一个线程都可以看成一个用户
右键测试计划 => 添加 => 线程组
在这里插入图片描述
注意:
setUp线程组和tearDown线程组,它们与普通线程组区别在于,setUp线程在普通线程执行前自动触发执行;而tearDown线程组在主线程结束后执行。
setUp线程组可以用于测试准备,比如用它来创建测试用户等。
Teardown线程组可以用于测试清理工作,比如删除测试用户等。
配置暂时保存默认配置就ok
在这里插入图片描述
注意:
(1)线程数:即虚拟用户数。设置多少个线程数也就是设置多少虚拟用户数
(2)Ramp-Up时间(秒):设置虚拟用户数全部启动的时长。如果线程数为20,准备时长为10秒,那么需要10秒钟启动20个线程。也就是平均每秒启动2个线程。
(3)循环次数:每个线程发送请求的个数。如果线程数为20,循环次数为10,那么每个线程发送10次请求。总请求数为20*10=200。如果勾选了“永远”, 那么所有线程会一直发送请求,直到手动点击工具栏上的停止按钮,或者设置的线程时间结束。

-> 创建一个HTTP请求,在线程组上右键,“新建”-“取样器”-“HTTP请求”,并把接口信息配置到组件中
在这里插入图片描述
在这里插入图片描述

服务器名称或IP:填写接口的域名或者IP(本项目部署在本机,所以写localhost)

端口号:写接口的端口号

方法:选择接口请求类型,本接口是GET类型

路径:接口的URI(URL中除去IP和端口后的部分,可以从接口文档中获取)

-> 添加查看结构树组件
查看结构树组件是用来查看HTTP请求的数据和服务端返回的响应数据,可以根据响应内容来判断接口业务是否成功。
线程组右键=>添加=>监听器=>查看结果树
在这里插入图片描述

-> 保存线程组并运行
点击菜单栏绿色三角图标,点击查看结果树
在这里插入图片描述
3.3 POST请求
3.3.1 Form 类型的post请求

主要流程是和get请求的一样,只是在配置接口信息的时候不一样
POST接口的参数是需要放在请求body中,所以接口参数需要在下方面板中按照key-value的格式进行配置
在这里插入图片描述
3.3.2 JSON类型的POST接口
有很多POST接口采用了JSON数据传输的方式,json数据有自己单独的格式,不是基于key=value格式的
那就是在‘消息体数据’中以json格式写入json参数
注意:脚本编写完成后,先点击清理按钮清空查看结果树中上次运行的数据
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值