使用Jmeter进行http接口做功能、性能测试

2023-11-12

使用Jmeter进行http接口做功能、性能测试

1. 使用Jmeter进行http接口做功能、性能测试

在测试移动APP时,会有很多接口需要做测试,我在这里介绍一下对HTTP接口做功能、性能的测试。首先我们会从开发人员拿到接口数据。

1.1. 一、测试需求描述

1、 本次测试的接口为http服务端接口

2、 接口:查询功能接口

3、接口描述:用户对订单列表进行查询

IP: http://192.168.8.197/biz/api/v1/mobile/doctor/subscribe/orderList 

请求方式:get

端口号:9090

请求头参数:token = ffb74003075c4094853c98bfcfd081b7

请求参数:stateType = ALL  ,  beginLine = 1

响应数据:显示所有订单的详情信息

1.2. 二、使用Jmeter部署环境

1.2.1. 1、首先打开Jmeter,在测试计划下添加线程组。// 添加线程组

img

1.2.2. 2.在线程组下添加 配置原件/HTTP信息头管理器(可选)

如果接口没有请求头参数,就可以不加。

img

1.2.3. 3.在线程组下添加 Sampler/HTTP请求。

img

1.2.4. 4.在HTTP请求下添加 察看结果树(可选)

img

1.2.5. 5.在HTTP请求下添加 聚合报告

img

1.3. 三,部署完成后,开始填入数据进行测试

1.3.1. 1、首先填写HTTP信息头管理器,

点击添加,把请求头参数:token = ffb74003075c4094853c98bfcfd081b7填入进去。

img

1.3.2. 2、填写HTTP请求,

点击添加,把请求参数:stateType = ALL  ,  beginLine = 1填入进去。

协议:http  

IP:192.168.8.197

端口号:9090

请求方式:get

路径:/biz/api/v1/mobile/doctor/subscribe/orderList

img

1.3.3. 3、设置线程组,

根据测试需求来设置。我们这里设置的是10个虚拟用户,循环1次。

img

1.3.3.1. 在这里详情解说一下线程组设置:

1.3.3.2. (1)线程数:

即用户数,一个虚拟用户占用一个进程或线程,需要多少个用户施压,就设置多少虚拟用户数,在这里就是设置多少个线程数。

1.3.3.3. (2)Ramp-Up Period(in seconds)准备时长:

设置的虚拟用户数需要在多长时间内全部启动。
例如 线程数为100,准备时长为10,
    那么 需要10秒钟启动100个线程,也就是每秒钟启动10个线程。
我们这里设置1秒,表示1秒内10个用户全部启动。

1.3.3.4. (3)循环次数:

每个线程发送请求的次数。
例如线程数为10,循环次数为10,那么每个线程发送10次请求,则总请求数为10*10=100 。
如果勾选了“永远”,那么所有线程会一直发送请求,直到选择停止运行脚本。

1.3.3.5. (4)Delay Thread creation until needed:

直到需要时延迟线程的创建。

1.3.3.6. (5)调度器:

可以设置线程组的持续时间或启动时间和结束时间。

​       当选用配置调度器时,需要设置循环次数为永远,防止因循环次数不够而终止压测。   
1.3.3.6.1. ​ 持续时间(秒):
测试计划持续多长时间,例如1分钟就填写60,会覆盖结束时间。          
1.3.3.6.2. ​ 启动时间:
测试计划什么时候启动,启动延迟会覆盖它。当启动时间已过,手动运行脚本时当前时间也会覆盖它(但启动时间页面显示不会变)。
1.3.3.6.3. ​ 结束时间:
测试计划什么时候结束,持续时间会覆盖它。

1.3.3.7. ​ 启动延迟(秒):

测试计划延迟多长时间启动,会覆盖启动时间。

1.3.4. 4、全部都设置好了就可以点击绿色箭头运行了,

 或者点击“运行”菜单栏的“启动”列表。运行完成后,我们来看看查看结果数。点击响应数据查看返回数据是否和研发部编写的一致。

img

1.3.5. 5、请求都成功后,我们来看看聚合报告,

 这个数据就是我们的测试结果了。

img

1.3.5.1. 6、我们这里解说一下聚合报告各参数的值,

主要是查看 Average 和 Throughput 的值。

(1)Label:请求对应的name属性值

(2)Samples:表示这次测试中一共发出了多少个请求,我们这里是模拟10个用户,每个用户迭代1次,那么这里显示10。

(3)Average:单个 Request 的平均响应时间!!!。

(4)Median:中位数, 50% 的样本都没有超过这个时间

(5)90% Line:90%的样本都没有超过这个时间

(6)95% Line:95% 的样本都没有超过这个时间

(7)99% Line:99% 的样本都没有超过这个时间

(8)Min:最小响应时间

(9)Max:最大响应时间

(10)Error%:本次测试中出现错误的请求的数量/请求的总数

(11)Throughput:吞吐量,表示每秒完成的请求数!!!

(12)Received KB/Sec:收到KB /秒的吞吐量测量接收到的字节每秒

(13)Sent KB/Sec:送千字节/秒的吞吐量测量送千字节每秒

链接:#link

完===============。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用Jmeter进行http接口做功能、性能测试 的相关文章

  • JMeter 将变量设置为随机选项

    我一直在使用 JMeter 我知道 Random and RandomString功能 我需要选择一个随机选项并将其存储在变量中 因为它将用作多个调用的参数路径的一部分 例如 http www example com pets random
  • JMeter 中默认的响应超时是多少?

    如果我们没有在 HTTP 请求 采样器中设置任何超时 任何人都可以帮助了解 JMeter 中的默认响应时间吗 Thanks 它默认为0 无超时 设置超时的推荐方法是使用 GUI 如果由于某种原因它不适合您 您可以使用以下属性 用户属性 fi
  • Jmeter 而控制器似乎没有将变量评估为数字

    我正在编写一个 jmeter 脚本 该脚本会不断加载数据 直到表达到指定的大小 我有一个 while 循环 其中有一个 HTTP 采样器来加载数据 然后是另一个带有 XPath 后处理器的 HTTP 采样器来检查表大小 它们调用两个不同的
  • JMeter(活动?)FTP 到 VLTrader

    情况 我正在使用 JMeter 来加载测试我的通信应用程序 Cleo VLTrader 我是 JMeter 的新手 并且能够使 HTTP 通信工作 但不能使 FTP 工作 当我尝试使用 JMeter FTP 请求采样器时 我可以在服务器端看
  • 使用Java代码进行Jmeter分布式测试

    我能够使用 Java 代码运行 Jmeter 但如果我想做与分布式测试相同的操作 那么如何在 Java 代码中添加远程引擎 这是一个sample http alvinalexander com java jwarehouse jakarta
  • JMeter:为单个用户触发多个并发 HTTP 请求

    我有一个带有线程组和 Cookie 管理器的 JMeter 负载测试脚本 线程组中的用户首先使用HTTP采样器登录来获取cookie 然后 循环控制器触发交错采样器 该采样器在几个向服务器发出查询的 HTTP 采样器之间交替 现在 我希望交
  • Jmeter JSR223 Sampler - 无法将数据写入 CSV 文件

    我正在使用 Jmeter v4 0 r1823414 根据这个答案 https stackoverflow com questions 50820389 unable to set incremental variable in jmete
  • 增加 JMeter 执行期间的线程数

    我有一个性能测试JMeter并想用它来测试最大系统性能 吞吐量 因此 当错误率低于 2 时 应增加活动线程数 我发现Constant Throughput Timer 把它放入Thread Group但它只会暂停或减慢线程 我尝试将其定义如
  • 每个线程组的概率

    如果我的测试计划中有 3 个线程组 如何为每个组设置恒定概率 请求权重 我是 JMeter 的新手 您能在屏幕截图上显示您的设置吗 只需将每组的线程数设置为测试总线程数的一个因子即可 如果有 100 个 VU 则 g1 设置为 50 g2
  • Apache JMeter 的 Cookie 管理器未将 cookie 添加到 POST 请求

    我制定了非常简单的测试计划 登录 POST 返回会话cookie 获取状态 GET 返回用户状态 创建资源 POST 为资源提供 JSON 正文 所以我的 测试计划 如下所示 Test Plan Thread Group HTTP 请求默认
  • 我有 JSR233 监听器,它在 JMeter 非 GUI 模式下似乎被忽略

    我在 HTTP 请求下有 JSR233 侦听器 它存储所有响应时间值 创建数组 然后对数组进行排序以查找 90 行 然后在达到最终 90 行阈值时标记最后一个事务 请求通过或失败 GUI 中的一切都运行完美 但我使用 Docker Imag
  • 如何在 JMeter 中使用命令行参数

    我正在使用 Jmeter 测试 API 我想从终端参数化项目的路径 然后我想在 JMeter 中使用此参数 我通过命令行发送的参数 jmeter n t your script jmx Jurl abcdef com 我在用户定义变量中使用
  • 在 JMeter 中,您可以指定变量来填充 HTTP 请求默认值吗?

    我希望能够从 CSV 文件中读取值 或者更理想的是 properties使用 JMeter 文件 然后在多个中使用它Test Plan是在HTTP Request Defaults as the Server Name or IP 以及Po
  • jmeter恒定视频流

    我正在使用 Jmeter 来加载测试视频流 我可以传递登录信息 但我需要让 Jmeter 在提供视频流的页面上 保持 我怎样才能做到这一点 我已经设置了 cookie 管理器 如果视频流不在您的服务器上 您根本不需要测试它 例如 如果您的网
  • 通过 Jmeter 从 Phantomjs 收集客户端性能指标

    在整个 PhantonJS 驱动程序配置中 我们有什么方法可以通过 phantomjs 使用 Jmeter DomLoad WindLoad ResourceCount 资源大小来捕获以下客户端性能指标 Thanks 我建议使用捕获指标WD
  • 使用 JMeter 时陷入嵌套循环。嵌套循环控制器和 CSV 数据集配置。

    在我的网站上 我有两个商家操作 搜索和浏览 一次搜索通常会触发三次浏览 我有一个 JMeter 测试 它使用商家和商家 ID 号的 CSV 文件 在大规模运行此测试时 我希望使用我网站上的所有商家 我已经在 J Meter 中映射了它 如下
  • 使用jmeter测试多个网站

    如何使用jmeter测试100个不同的网站 来自DMOZ 我认为可以通过将jmeter与脚本集成来完成 基本上 该脚本是告诉 jmeter 从文本或 csv 文件中读取 URL 并将 http 请求采样器更改为文件中的 URL 以运行测试
  • JMeter:tearDown Thread Group的目的是什么

    我想了解JMeter中tearDown Thread Group的实际用法 在什么场景下可以使用tearDown Thread Group 根据提供的帮助JMeter 拆解线程组 http jmeter apache org userman
  • 如何使用脚本在 Jmeter 容器中设置变量及其值,例如用户参数

    我需要在 Jmeter 中设置和获取变量以实现 API 自动化 我正在使用 groovy 脚本来实现同样的目的 我可以使用以下代码将键值存储在属性文件中 props put shubhamKey shubhamValue 我不想使用 mai
  • JMeter:来自 Jenkins 的九个以上参数

    我试图将超过九个参数从 Jenkins 传递到 JMeter4 0 当我阅读时 我发现 JMeter 不接受超过 9 个参数 作为解决方法 我想将所有参数作为字符串传递 并在 JMeter BeanShell 中将其拆分 java jar

随机推荐

  • 漫话算法[二分查找]:不用背你也能写出漂亮的二分查找框架并秒杀至少5道题!

    快来和叮当学习算法吧 B站同步更新 同步到开源项目Github传送门 Easy Programming及微信公众号 CVBear 项目内含Leetcode五杀刷题指南 致力于通过5个问题带你入门掌握算法套路 漫话算法 二分查找 算法模板 一
  • VT系列二:检测是否支持虚拟化

    本文只是学习此视频后的一些总结 不当之处还请指出 视频作者 小宝来了 视频连接 http bbs pediy com showthread php t 211973 约定 本文中出现的名词 虚拟机 客户机 GUEST 都是被监控的操作系统或
  • Python第一课:print()函数、变量与赋值

    Python第一课 print 函数 变量与赋值 所有的符号输入 必须是英文状态 一 print 函数的用法 单刀赴会 不带引号 数据 黄袍加身 单引号 双引号 三引号 单引号与双引号效果一致 当括号内有的语句有单引号或双引号时 三引号可以
  • 初级1 题目一 时间复杂度及示例

    1 什么是时间复杂度 常数时间的操作 一个操作如果和数据量没有关系 每次都是固定时间内完成的操作 叫做常数操作 一个算法流程中 常数操作数量的指标 就是常数操作在算法里总共有多少次 称为时间复杂度 常用O 读作big O 来表示 具体来说
  • 如何选择一款趁手的光纤测试仪

    光纤测试仪是一种用于物理学 电子与通信技术领域的物理性能测试仪器 于1996年11月1日启用 常用光纤测试表有 光功率计 光万用表 稳定光源 光时域反射仪 OTDR 和光故障定位仪 如何选择合适的光纤测试仪 选择光纤测试仪表 一般需考虑以下
  • 虚拟化原理以及应用(8)课堂笔记-第三章KVM的概述第四章-课堂笔记-virt-manager默认方式创建虚拟机(1)

    一 KVM的概念 重点 KVM关键词 1 基于Linux内核的全虚拟化解决方案 运行在支持硬件虚拟化功能的X86平台 Intel VT 或AMD V 基于LINUX内核的全虚拟化的解决方案 运行在支持硬件虚拟化功能的x86平台 intel
  • RNN(循环神经网络)

    文章目录 RNN概述 RNN模型 RNN前向传播算法 RNN反向传播算法推导 RNN小结 DNN的特例CNN的模型和前向反向传播算法 这些算法都是前向反馈的 模型的输出和模型本身没有关联关系 今天我们就讨论另一类输出和模型间有反馈的神经网络
  • Vue.config.productionTip = false 是什麽意思

    阻止启动生产消息 常用作指令 阻止启动生产消息 這又是什麽意思 看下效果 Vue config productionTip false Vue config productionTip true 感覺多了一行信息
  • python3(二)Numpy

    这两个库都是基于C语言的 所以这两个库的计算速度相比python的list或dict来说很快 pandas又是基于numpy的库 相当于numpy的升级版本 并且用到了矩阵的计算 计算速度相比利用单个数据或字典 列表来说 快很多 1 基本
  • CAD+开发小结+交互+选择集+深度拷贝AcDbObjectId中指向的实体集+读取其他DWG文件

    深度拷贝将数组中的实体ID指向的实体拷贝至blockId为ID的块中 AcDbIdMapping adimIdMap AcApDocument pDoc acDocManager gt curDocument acDocManager gt
  • 【Kubernetes部署篇】Kubeadm方式搭建K8s集群 1.27.0版本

    文章目录 一 集群规划及架构 二 系统初始化准备 所有节点同步操作 三 安装并配置cri dockerd插件 四 安装kubeadm 所有节点同步操作 五 初始化集群 六 Node节点添加到集群 七 安装网络组件Calico 八 测试Cor
  • sqli labs less 25

    按照常规输入id 1 提示报错信息如下 一个很常见的报错 可以看出是单引号闭合的语句 输入 id 1 or 1 报出的错误信息不明显 加入一个括号进行试探能不能报出更多的语句错误 输入 id 1 or 1 从上图看出来or 被屏蔽了 经过更
  • ubuntu搭建android编译环境

    本文来自linux与嵌入式技术Q群52240781 ubuntu12 04 14 04安装后搭建android编译环境 注安装的是64位ubuntu系统12 04或14 04 请安装ubuntu的LTS版即12 04或14 04 每2年发布
  • 87_BigDecimal的doubleValue()、toString()、toPlainString()与科学计数法

    主题 BigDecimal toPlainString 可以避免出现科学计数法格式的数据 项目上面有个小伙伴在用Bigdecimal进行数值计算时 用return num doubleValue 的方式将结果送到前台 测试数值较小时无问题
  • 无法将“node”项识别为 cmdlet、函数、脚本文件或可运行程序的名称

    报错如下 检查npm目录下是否还有node exe文件如果没有复制过来 我复制过来问题解决 首先我是node和npm版本和项目版本不适应 需要更换版本 所以重新安装node js在重新安装的过程中将安装的位置改变了 所以造成了这个可能
  • DSS简介

    原文链接 去中心化软件服务 DSS 是一个基于CCR的轻量级 net运行时环境 DSS提供了一个轻量级的 状态导向的服务模型 它将REST概念和构造高性能高扩展性应用的系统级方法结合在一起 在DSS中服务被暴露为一种可以被程序和UI操作界面
  • 将 Tocmat5.0 注册为 Windows 的服务程序

    将 Tocmat5 0 注册为 Windows 的服务程序 步骤 1 下载 Tomcat 5 0 x 不要下载安装版本 2 解压到 TOMCAT HOME 3 安装或者从别处拷贝JRE 推荐拷贝 可以删除不需要的文件 如文档等 4 在 TO
  • Qt编译MySQL数据库驱动

    文章目录 一 我的编译环境 二 需要 三 Qt的下载 四 编译驱动 主题 4 1 第一步打开msql pro 4 2 第二步 4 3 第三步 4 4 第四步 4 5 第五步 编译 最后一步 一 我的编译环境 Qt 5 14 2 mingw7
  • 大模型时代,企业如何重构 AI 应用落地范式?

    近一年来 生成式人工智能 AIGC 技术的快速发展和各种大模型的涌现 引发了全球范围内对于通用人工智能 AGI 时代是否即将到来的讨论 在 AIGC 大模型公共服务逐渐被大众辩证地接受后 如何用 AIGC 技术重塑企业智能服务成为一个深水区
  • 使用Jmeter进行http接口做功能、性能测试

    使用Jmeter进行http接口做功能 性能测试 1 使用Jmeter进行http接口做功能 性能测试 在测试移动APP时 会有很多接口需要做测试 我在这里介绍一下对HTTP接口做功能 性能的测试 首先我们会从开发人员拿到接口数据 1 1