jmeter接口测试工具详解

一、线程组

  1. 第一部分

在取样器错误后要执行的动作

取样器就相当于是postman发送请求接口,当接口请求失败时,要执行的动作:

  • 继续:继续执行接下来的操作
  • 启动下一进程循环:忽略错误,执行下一个循环
  • 停止线程:退出当前线程,不再执行此线程的任务操作
  • 停止测试:等待当前执行的采样器结束,接着结束整个测试
  • 立即停止测试:直接停止整个测试
  1. 第二部分

  • 线程数:即模拟用户数量
  • Ramp-Up时间(秒):达到指定线程数所需要的时间。比如线程数为100,此处为5秒,100/5=20,那么相当于每秒启动20个线程,用时5秒达到100
  • 循环次数:要循环的次数,如果勾选“永远”,会一直循环下去
  • Same user on each iteration:表示每个迭代都用相同的线程。比如线程数为1,循环次数为5,那么创建好1个线程后,每次循环迭代都用这个线程,直到测试结束。如果不勾选,那么每次循环会销毁之前的线程,再创建1个新的线程,测试结束总共会经过5次创建销毁线程,浪费了计算机资源,线程多了甚至可能会影响性能测试结果,所以默认是勾选的。再比如这1个线程中有登录操作,加入cookie后,这个线程5次迭代下来用的都是这一个cookie
  1. 第三部分

  • 延迟创建线程直到需要:勾选,当线程需要执行的时候才会被创建,如果不勾选,在计划开始的时候,所有的线程就都创建好了
  • 调度器:

持续时间(秒),表示多少秒后,结束测试

启动延迟(秒):表示点击开始执行计划后,延迟多少秒,才真正开始执行

线程组添加组件介绍

  • 取样器

发送接口请求,类似于代码中requests封装的请求接口方法。

  • 逻辑控制器

控制语句的执行顺序。

  • 前置处理器

在取样器发送接口请求之前,需要执行的操作,比如删除数据,恢复数据,生成数据等。

  • 后置处理器

在取样器发送接口请求之后,需要执行的操作,比如恢复数据,或处理响应数据,提取需要的值等。

  • 断言

判断是否返回了预期的结果。

  • 定时器

一般用来延时发送接口请求,类似于代码中的强制等待sleep。

  • 测试片段

相当于封装一段代码,供其他脚本使用。

  • 配置元件

用于初始化变量,以便采样器使用。类似于自动化框架中的配置文件。

  • 监听器

展示执行结果,打印日志信息等。

线程组组件的执行顺序与接口自动化对比

jmeter组件

接口自动化

配置元件

读取配置文件

前置处理器

setup等前置操作

取样器

发送接口请求

后置处理器

提取接口响应信息

断言

断言

监听器

控制台或日志查看

二、案例

执行一个接口

http://58.224.200.58:18185/saferycom/base/login

请求方式:post

首先添加一个HTTP请求:

然后根据接口的url来进行填写:

请求名称,可不改

Web服务器信息,网络协议、域名或IP、端口号,可自行修改

接口请求:请求方法、请求路径、编码格式,可自行修改

参数传递:消息体数据存储JSON信息

参数填写方式

第一种:请求头中Content-Type: application/json,这一种要以json的格式传递参数

第二种:请求头中Content-Type: application/x-www-form-urlencoded,这一种以表单的格式传递参数,如下

接着依次添加对应的监听器,可以来看我们的请求结果:

场景一:模拟200个用户访问(非并发)

接着几个报告结果就都会有对应的一个测试结果。

(非并发)测试是直接一个个线程串行执行的,而不是并发在固定时间内发送出去:

场景二:模拟2000个用户访问(并发)

依次将上一次的结果清楚继续下一次测试

1、设置Ramp-Up时间

目的:由于线程数之后增大,需要根据实际情况来设置这个准备时间秒数,这个秒数指的是在指定时间内来准备指定的线程数,你可以理解提前预备准备。

2、添加一个同步定时器

设置模拟用户组数量为2000,这样的话在这一组的2000个就会在同一时间内进行并发发送请求:

查看结果,几乎是在同一时刻发出的请求

各类报告

汇总报告

样本:总共请求数

平均值:平均响应时间

最小值:最小响应时间

最大值:最大响应时间

标准偏差:每个值与平均值的平均差度

异常:所有请求发送多少异常

吞吐量:很重要,根据它来衡量每个接口的并发能力

聚合报告

中位数:反映我们普遍的请求,哪个响应时间响应成功的。

三、jmeter——Http cookie管理器

1.添加HTTP cookie管理器之前:有报错,缺少cookies

2.选择测试计划:右键-->添加-->配置元件-->HTTP cookie管理器
3.添加HTTP cookie管理器之后再次测试,不报错。

作用描述:HTTP Cookie管理器可以像浏览器一样存储和发送cookie,如果你要发送一个带cookie的http请求,cookie manager会自动存储该请求的cookies,并且后面如果发送同源站点的http请求时,都可以用这个cookies。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值