使用 jmeter 进行审批类接口并发测试

news2024/11/23 15:01:22

目录

前言:

背景:

难点:

场景 a:

场景 b:


前言:

使用JMeter进行审批类接口的并发测试是一种有效的方法,可以模拟多个用户同时对接口进行审批操作,以评估系统在高负载情况下的性能和稳定性。

背景

页面上单据审核操作,单据并发操作时会多笔成功提交,出现提交多个支付申请的问题

难点

  • 数据自动创建
  • 接口请求需要登录后执行
  • 动态获取审核单据的请求参数
  • 最大限度模拟并发操作,降低请求间隔
    解决思路:

  • 使用数据抛送接口创建数据

  • 使用 jmeter 头和 cookie 管理器,保存登录 session

  • 通过查询类接口,获取审核请求所需参数

  • 线程组添加同步定时器,确保请求的同时性
    具体实现

  1. 使用数据抛送接口,来进行数据的创建,有以下注意点
    • 随机生成项目单据号,确保数据可创建成功
    • 保存创建数据的项目单据号,方便之后查询接口使用
  2. 在实现登录和提交操作时,进行了两种场景模拟

场景 a:

使用单用户登录,模拟同一用户多浏览器登录进行并发提交。起初将登录和提交请求放到同一线程组中,但是发现在短时间内使用同一用户进行单点登录时,会有部分登录报错,故将登录请求单独放置在一个线程组中,提交请求放在另一线程组,之后将登录线程组中 cookie 传输到请求线程组中(此种方式其实是模拟单用户在同一浏览器多开并发)。

由于登录和发送请求设置不同线程组,需要在线程组间传递 cookie,具体为需要修改 jmeter.properties 文件,设置 CookieManager.save.cookies=true,取出登录后 cookie 参数,并传递到执行审核请求的线程组

整体结构:

声明参数为全局变量:

拼接 cookie 信息:

设置同步计时器,确保单据并发提交:

场景 b:

在真实场景中,单用户并发操作的较少,同时操作同一单据的场景,更多的是多个不同用户。模拟此种场景,要做到的是多线程时,每个线程使用不同的用户登录并进行操作。此处的实现方式,是获取线程编号,然后为线程指定登录账号(如线程 1 读取账号 1,线程 2 读取账号 2),在这种不同用户的场景下,就需要将登录和提交请求放置在同一线程组中,顺序执行操作即可

整体结构:

获取线程 ID 并指定账号:

 

  作为一位过来人也是希望大家少走一些弯路

在这里我给大家分享一些自动化测试前进之路的必须品,希望能对你带来帮助。

(WEB自动化测试、app自动化测试、接口自动化测试、持续集成、自动化测试开发、大厂面试真题、简历模板等等)

相信能使你更好的进步!

点击下方小卡片

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

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

相关文章

APP开发中的数据安全:你需要知道的一切

APP开发中的数据安全,是指 APP开发过程中,所有的数据都会经过严格的安全处理。因为目前 APP开发公司的技术、资质良莠不齐,很多企业在开发过程中不注重对数据安全的保护。 在如今大数据时代, APP开发过程中,会产生大量…

2023-7-14-第十九式中介者模式

🍿*★,*:.☆( ̄▽ ̄)/$:*.★* 🍿 💥💥💥欢迎来到🤞汤姆🤞的csdn博文💥💥💥 💟💟喜欢的朋友可以关注一下&#xf…

linux history 命令 ssh log

history命令可以查看最近Linux中执行的命令。 一、history常用命令 1 2 3 4 history n# 只显示最近的 n 条历史记录 history -c# 清除缓存区中的历史记录 history -w# 将缓存区的历史记录保存到文件 history -d N# 删除第 N 条历史记录 比如# 查看最近的5条命令 1 2 3 4 5 …

【DC-DC】AP5193 DC-DC宽电压LED降压恒流驱动器 LED电源驱动IC

产品 AP5193是一款PWM工作模式,高效率、外围简单、内置功率MOS管,适用于4.5-100V输入的高精度降压LED恒流驱动芯片。最大电流2.5A。AP5193可实现线性调光和PWM调光,线性调光脚有效电压范围0.55-2.6V.AP5193 工作频率可以通过RT 外部电阻编程来设定&…

定西扶贫惠农推介系统(ssm+jsp+mysql)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的定西扶贫惠农推介系统。技术交流和部署相关看文章末尾! 开发环境: 后端: 开发语言:Java …

21.JavaWeb-RBAC访问控制模型

1.RBAC RBAC(Role-Based Access Control)是一种基于角色的访问控制模型,用于管理系统中的权限控制。它是一种广泛应用的访问控制策略,可以确保用户只能访问其所需的资源,从而保证系统的安全性和完整性。 RBAC核心是将…

连接一个JavaScript文件

● 首先&#xff0c;本章我们会使用一个起始文件&#xff0c;代码如下 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0&qu…

LAXCUS分布式操作系统存在的意义和价值

总有一些新用户不能理解LAXCUS分布式操作系统&#xff0c;以及它存在的意义和价值&#xff0c;我这样说吧。 下图是一个图形桌面&#xff08;LAXCUS的图形桌面&#xff0c;不是Windows、也不是Macintosh&#xff09;&#xff0c;在它后面&#xff0c;连着一个计算机集群&#…

阿里云无影云电脑价格_企业办公型1元_云桌面入口

阿里云无影云电脑配置费用&#xff0c;4核8G企业办公型云电脑可以免费使用3个月&#xff0c;无影云电脑地域不同费用不同&#xff0c;无影云电脑是由云桌面配置、云盘、互联网访问带宽、AD Connector、桌面组共用桌面session等费用组成&#xff0c;阿里云百科分享阿里云无影云电…

列表状态值转换,状态码对应文字处理

项目中经常遇到&#xff0c;在新增及编辑的时候&#xff0c;我们根据下拉框选择状态时候&#xff0c;在列表或者详情&#xff0c;我们得根据状态码/值&#xff0c;显示对应的文字&#xff0c;这时候&#xff0c;我们就需要对值进行格式处理&#xff0c;效果如下&#xff1a; 我…

【Element】el-dialog 内使用 el-image 并添加 preview-src-list 预览,拖拽导致图片预览不完整问题

现象 el-dialog 内使用 el-image 并添加 preview-src-list 预览&#xff0c;拖拽导致图片预览不完整 <el-dialogwidth"500"v-model"visible":title"activeProp?.name"close"handleClose":draggable"true" // 可拖拽al…

归并排序与计数排序

目录 1.什么是归并排序 2.归并排序的实现 3.归并排序的非递归实现 4.计数排序 1.什么是归并排序 归并排序&#xff08;MERGE-SORT&#xff09;是利用归并的思想实现的排序方法&#xff0c;该算法采用经典的 分治&#xff08;divide-and-conquer&#xff09;策略 &…

服务保护 Sentinel

服务保护 Sentinel Sentinel 介绍Sentinel 的下载使用Sentinel 流控规则流控规则介绍流控规则演示 Sentinel 热点规则Sentinel 隔离和熔断降级Feign 整合 Sentinel线程隔离熔断降级 Sentinel 授权规则Sentinel 系统规则Sentinel 自定义异常Sentinel 资源定义url 默认资源抛出异…

Linux常用命令——emacs命令

在线Linux命令查询工具 emacs 功能强大的全屏文本编辑器 补充说明 emacs命令是由GNU组织的创始人Richard Stallman开发的一个功能强大的全屏文本编辑器&#xff0c;它支持多种编程语言&#xff0c;具有很多优良的特性。有众多的系统管理员和软件开发者使用emacs。 语法 e…

线性磁悬浮多输入多输出(MIMO)系统的线性系统控制器设计、实现和分析(Matlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f468;‍&#x1f4bb;4 Matlab代码 &#x1f4a5;1 概述 ​磁悬浮列车作为一种新型地面交通工具,已经在实践中得到了成功的应用。传统的EMS型磁悬浮系统在结构上简单可靠,而且在技术上…

学习C#基础知识和应用:

C#语言基础知识&#xff1a;了解C#的开发环境、变量、语法和程序结构等基础内容。这些知识是理解和开发C#自动化控制系统的前提。刚好&#xff0c;我这里有上位机入门&#xff0c;学习线路图&#xff0c;各种项目&#xff0c;需要留个6。 Winform窗体控件的应用&#xff1a;Wi…

京东零售 / hotkey 热点key探测工具使用

1、安装etcd 在etcd下载页面下载对应操作系统的etcd&#xff0c;https://github.com/etcd-io/etcd/releases 使用3.4.x以上。 2、启动worker&#xff08;集群&#xff09; 下载并编译好代码&#xff0c;将worker打包为jar&#xff0c;启动即可。如&#xff1a; java -jar $J…

北邮国院物联网 Microprocessor 微处理器笔记

Introduction-随便聊 嵌入式系统是什么&#xff1f;专用的计算机系统。为专门功能可能对计算机架构&#xff0c;外设等做出一些取舍。 通常的限制&#xff1a;Cost&#xff08;比如大量部署传感器节点&#xff09;&#xff0c;Size and weight limits&#xff08;特定应用场景…

PHP代码审计(一)之PHP代码审计的意义

PHP代码审计的意义 什么是代码审计 什么是代码审计&#xff1f;代码审计就是获取目标的源代码&#xff0c;这个目标可以是一个网站&#xff0c;也可以是一个手机app&#xff0c;只要我们得到了目标的源代码&#xff0c;我们就可以去挖掘目标系统的漏洞&#xff0c;代码审计是…

详解Jenkins配置邮件通知

前言 这几天Darren洋在使用Jenkins定时构建jmeter脚本中&#xff0c;要用到邮箱配置&#xff0c;故记录之。 一、Jenkins默认邮箱通知 这里填好smtp服务器地址和邮箱后缀&#xff0c;这样下面的账号就不用加邮箱后缀了。 网易邮箱设置以下我就不说废话文学了&#xff0c;直接上…