Jemeter--关联接口压测

Jemeter–独立不变参接口压测
Jemeter–独立变参接口压测
Jemeter–关联接口压测

案例分析

比如:有个波次复核接口很慢,优化后需要压测。但是波次复核接口数据是由另外两个接口(配单详情、内盒信息)的数据组合而来,而内盒信息又依赖于配单中返回的数据cardCode来查询。那应该如何压测呢?

接口关系:
波次复核接口数据 依赖 配单详情数据 +内盒信息数据 组合
内盒信息数据 依赖 配单详情数据

两种方法

1、如果数据库有足够数据,将关联符合的订单的配单的id查询出来,导出csv,先执行配单详情接口查询并把返回的数据作为变量,再根据变量数据执行内盒信息接口并把返回需要用到的数据作为变量。
最后从变量信息中组合数据调用波次复核接口

2、如果数据库没有什么数据,就需要再添加前置生成数据的接口,比如生成订单接口、组波接口、生成配单接口,然后把配单id保存为变量,再执行配单详情接口查询并把返回的数据作为变量,再根据变量数据执行内盒信息接口并把返回需要用到的数据作为变量。最后从变量信息中组合数据调用波次复核接口

(PS: 如果要保持测试库数据干净,可以把生成订单接口、组波接口、生成配单接口放到setUp线程组,然后把配单id保存为全局变量。然后在业务线程组执行配单详情接口、内盒信息接口、波次复核接口等业务接口,最后在TearDown线程组里执行删除生成的业务的所有数据逻辑,嗯,有点自动化测试的味道)

注意因为有依赖关系注意接口运行的顺序性,保证先执行的接口在前面。

下面选择第一种方案,第二种对业务来说多了很多接口过于麻烦了

CSV方案实现

1、创建公共组件

线程组、头部管理器、数据库筛选过的csv数据文件、结果树等监听器

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2、创建http1配单详情接口

配置csv文件中的 bill_code 变量去查询配单详情,可以加个http1标志,方便知道这个接口是第一个需要执行的
在这里插入图片描述

3、提取配单详情返回Json数据变量

右击http1添加json提取器(接口交互是json的方式)
在这里插入图片描述
配置需要提取的变量

  • 有多少个变量,这四行的数量是一样的
  • $.是根据你接口的返回json层级来的
    在这里插入图片描述
    我的接口返回是直接{}里面就是数据,所以直接 $.字段
    在这里插入图片描述
    如果返回的形式这样
    在这里插入图片描述
    对应的配置
    在这里插入图片描述

4、添加调试取样器

右击线程组,添加Debug Sampler 取样器,用来检测、获取变量的属性值
在这里插入图片描述
可以先执行这个接口,察看结果树,可以看到自定义的变量值都可以获取到了(可以没有获取到证明接口中哪里设置的有问题)
在这里插入图片描述

5、创建http2内盒信息接口

使用接口http1中的变量${cardCode} 获取内盒信息接口
在这里插入图片描述

6、提取内盒信息接口Json数据变量

添加http2的json提取器,内盒变量设置
在这里插入图片描述
注意: 返回数据套了两层[{}]括号,对应变量 $. . 两个点 属性值
在这里插入图片描述

7、创建http3复核接口

在body体中,使$引用对应的变量充当参数
在这里插入图片描述

8、调整整体接口、组件如下顺序

在这里插入图片描述

9、执行压测

察看结果树

在这里插入图片描述
汇总报告
在这里插入图片描述
聚合报告
在这里插入图片描述
TPS
在这里插入图片描述

10、总结

可以发现,接口http1、http2、http3是并发依次调用的,即在不同线程里是依次调用的,而且csv数据由线程共享的,不同线程不会取同一行的数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/40886.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

fastadmin最新版导出数据时 表格中会有 html标签的解决办法

fastadmin 自带的导出方法, 是一个纯前端的导出, 没有请求后台的接口 当我们使用导出功能时, 有些数据, 我们在设计的时候,配置的是 枚举类型的 但是当我们导出数据的时候, 居然导出的数据中带有 html 的…

k8s-第十节-Ingress

Ingress 介绍 Ingress 为外部访问集群提供了一个 统一 入口,避免了对外暴露集群端口;功能类似 Nginx,可以根据域名、路径把请求转发到不同的 Service。可以配置 https 跟 LoadBalancer 有什么区别? LoadBalancer 需要对外暴露…

【12321骚扰电话举报受理中心-短信验证安全分析报告】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞…

交流负载箱的主要功能有哪些?

交流负载箱可以模拟各种实际用电设备的功率、电流、电压等参数,使得电源系统在运行过程中能够承受实际负载的考验,确保电源系统的稳定运行。通过交流负载箱对电源设备进行测试,可以检测出电源设备在过载、短路等异常情况下的保护功能是否正常…

Linux和mysql中的基础知识

cpu读取的指令大部分在内存中(不考虑缓存) 任何程序在运行之前都的加入到内存。 eip->pc指针,指明当前指令在什么位置。 代码大概率是从上往下执行的,基于这样的基本理论。既可以将一部分指令加载到CPU对应的缓存中&#xf…

【CSAPP】-datalab实验

实验原理与内容 本实验每位学生拿到一个datalab-handout.tar文件。学生可以通过U盘、网盘、虚拟机共享文件等方式将其导入到Unbuntu实验环境中,选择合适位置存放。然后在Ubuntu环境下解压。解压后,根据文件中的叙述和要求更改bits.c文件。本次实验的主要…

【全网最全】2024年APMCM第十四届亚太地区大学生数学建模竞赛(中文赛项)完整思路解析+代码+论文

我是Tina表姐,毕业于中国人民大学,对数学建模的热爱让我在这一领域深耕多年。我的建模思路已经帮助了百余位学习者和参赛者在数学建模的道路上取得了显著的进步和成就。现在,我将这份宝贵的经验和知识凝练成一份全面的解题思路与代码论文集合…

云计算【第一阶段(26)】Linux网络设置

一、查看网络配置 1.查看网络接口信息ifconfig 查看所有活动的网络接口信息 2.ifconfig命令 查看指定网络接口信息 ifconfig 网络接口 (1)第一行:以太网卡的名字 ens33其中en代表以太网卡, centos6的是eth0, e…

中国算力网络市场发展分析

中国算力网络市场发展现状 算力涵盖计算、内存、存储等全方位能力,广泛分布于网络边缘、云计算中心、联网设备及转发节点。随着数字化技术革新,算力与网络正深度融合,推动“算网一体化”的演进。这一新型基础设施日渐凸显其重要性&#xff0c…

精准畜牧业:多维传感监测及分析动物采食行为

全球畜牧业呈现出一个动态且复杂的挑战。近几十年来,它根据对动物产品需求的演变进行了适应,动物生产系统需要提高其效率和环境可持续性。在不同的畜牧系统中有效行动取决于科学技术的进步,这允许增加照顾动物健康和福祉的数量。精准畜牧业技…

Samtec汽车电子 | 汽车连接器如何在高要求、极端的环境中工作

【摘要/前言】 汽车电子,这些年来始终是极具流量的热门话题,目前不断发展的智能座驾、辅助驾驶等赛道都是对相关产业链需求的进一步刺激,这里蕴含着一片广阔的市场。 同样,广阔的市场里有着极高的准入门槛和事关安全的技术挑战。…

Windows安全认证机制——Windows常见协议

一.LLMNR协议 1.LLMNR简介 链路本地多播名称解析(LLMNR)是一个基于域名系统(DNS)数据包格式的协议,使用此协议可以解析局域网中本地链路上的主机名称。它可以很好地支持IPv4和IPv6,是仅次于DNS解析的名称…

代谢组数据分析(十三):评估影响代谢物的重要临床指标

欢迎大家关注全网生信学习者系列: WX公zhong号:生信学习者Xiao hong书:生信学习者知hu:生信学习者CDSN:生信学习者2介绍 相关性分析是通过计算两个变量之间的相关系数来评估它们之间线性关系的强度和方向。最常用的是皮尔逊相关系数(Pearson correlation coefficient),…

软件测试常见的面试题(46道)

01、您所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。 答:有黑盒和白盒两种测试种类,黑盒有等价类划分法,边界分析法,因果图法和错误猜测法。白盒有逻辑覆盖法&…

VBA通过Range对象实现Excel的数据写入

前言 本节会介绍通过VBA中的Range对象,来实现Excel表格中的单元格写入、区域范围写入,当然也可以写入不同类型的数据,如数值、文本、公式,以及实现公式下拉自动填充的功能。 一、单元格输入数据 1.通过Value方法实现输入不同类型…

Windows上使用Navicat连接ubuntu上的mysql8报错:10061和1130

问题一:can’t connect to mysql server on ‘192.168.xxx.xxx’(10061) 解决: sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf,bind-address绑定了登陆的IP,把这两行代码注释掉,然后重启mysql。 问题二:1…

Swift 定制 Core Data 迁移

文章目录 前言什么是 Core Data 迁移?示例更新模型创建一个新的模型版本创建映射模型编写自定义迁移策略总结 前言 随着应用程序和用户群的增长,你需要添加新功能,删除其他功能,并改变应用程序的工作方式。这是软件开发生命周期的…

底层软件 | 十分详细,为了学习设备树,我写了5w字笔记!

0、设备树是什么?1、DTS 1.1 dts简介1.2 dts例子 2、DTC(Device Tree Compiler)3、DTB(Device Tree Blob)4、绑定(Binding)5、Bootloader compatible属性 7、 #address-cells和#size-cells属性8…

动态规划入门,从简单递归到记忆化搜索到动态规划

动态规划入门&#xff0c;从简单递归到记忆化搜索到动态规划 打家劫舍 class Solution {private int nums[];public int rob(int[] nums) {this.nums nums;return dfs(nums.length - 1);}public int dfs(int i){if (i < 0){return 0;}int res Math.max(dfs(i - 1), dfs(i…

预制菜工厂MES系统:具体功能与应用场景

在现代化食品工业中&#xff0c;预制菜&#xff08;Ready-to-Eat, RTE&#xff09;因其方便快捷、卫生安全及营养均衡的特点&#xff0c;迅速在餐饮行业中占据重要地位。为了进一步提升预制菜工厂的生产效率、保障产品质量并降低生产成本&#xff0c;制造执行系统&#xff08;M…