JMeter 配置元件之按条件读取CSV Data Set Config

这篇具有很好参考价值的文章主要介绍了JMeter 配置元件之按条件读取CSV Data Set Config。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

实践环境

win10

JMeter 5.4.1

需求描述

需求是这样的,需要压测某个接口(取消分配接口),请求这个接口之前,需要先登录系统(物流WMS系统),并在登录后,选择并进入需要操作的仓库,然后请求接口,接口报文如下:

{
 "orderNos": ["OB-20231221-0000025","OB-20231221-0000026"], 
 "warehouseCode": "763DCD"
}

要求warehouseCode和登录用户所属仓库保持一致,orderNos必须归属于warehouseCode,简单理解就是登录用户只能操作所选仓库的订单。

此外,每个订单参数只能用一次

脚本设计与实现

整体实现

JMeter 配置元件之按条件读取CSV Data Set Config,jmeter,jmeter

具体设计如下:

1、用户自定义变量配置

JMeter 配置元件之按条件读取CSV Data Set Config,jmeter,jmeter

2、将登录用户数据(登录账号,登录密码,所属仓库)存放在一个文本文件,如下:

load_testing_user_info.txt

userName,password,warehouseCode
opt022DCP1,iOKqmObkHLq+d5whJzcBr/.../kmUN/ND393iQkE=,022DCP
opt763DCD573,iOKqmObkHLq+d5whJzcBr/.../kmUN/ND393iQkE=,763DCD
opt022DCP782,iOKqmObkHLq+d5whJzcBr/.../kmUN/ND393iQkE=,022DCP
opt022DCP32,iOKqmObkHLq+d5whJzcBr/.../kmUN/ND393iQkE=,022DCP
opt763DCD753,iOKqmObkHLq+d5whJzcBr/.../kmUN/ND393iQkE=,763DCD
opt763DCD150,iOKqmObkHLq+d5whJzcBr/.../kmUN/ND393iQkE=,763DCD
...

JMeter 配置元件之按条件读取CSV Data Set Config,jmeter,jmeter

3、将仓库订单数据分别按仓库分组存放在不同的文件

763DCD-orders.txt

orderWarehouse@orders
763DCD@"OB-20231221-0000025","OB-20231221-0000026"
763DCD@"OB-20231221-0000027","OB-20231221-0000028"
763DCD@"OB-20231221-0000029","OB-20231221-0000030"
763DCD@"OB-20231221-0000031","OB-20231221-0000032"

JMeter 配置元件之按条件读取CSV Data Set Config,jmeter,jmeter

022DCP-orders.txt

orderWarehouse@orders
022DCP@"OB-20231221-0000029","OB-20231221-0000030","OB-20231221-0000031","OB-20231221-0000032","OB-20231221-0000033"
022DCP@"OB-20231222-0048049","OB-20231222-0048050","OB-20231222-0048051","OB-20231222-0048052","OB-20231222-0048053"
022DCP@"OB-20231222-0053060","OB-20231222-0053061","OB-20231222-0053062","OB-20231222-0053063","OB-20231222-0053064"
022DCP@"OB-20231222-0058083","OB-20231222-0058084","OB-20231222-0058085","OB-20231222-0058087","OB-20231222-0058086"

JMeter 配置元件之按条件读取CSV Data Set Config,jmeter,jmeter

4、将仓库订单数据文件添加到不同的IF逻辑控制器下,增加IF判断条件--判断登录用户所属仓库和是否和订单数据文件所属仓库一致,如果一致则可读取对应数据文件

5、要求订单数据不可重复使用,步骤3操作,会导致CSV Data Set Config配置元件的Recycle on EOF?: FalseStop thread on EOF?:True 配置项无法起到精确控制(有作用,但读取到文件末尾时不会立即停止,还是有线程会继续从头读取,至于啥时候才会全部停止,我也不清楚,最后线程会因为这个配置停止就是)

解决方案:在对应的IF逻辑控制下,添加线程共享计数器,并在数据文件之后,添加脚本采样器,脚本里判断计数器当前值是否大于文件最大内容行数,如果大于则停止线程

if (Long.parseLong(vars.get('fileLineReadCnt1')) > Long.parseLong(vars.get('maxFileLineNum2'))) {
    ctx.getThread().stop()
} 

JMeter 配置元件之按条件读取CSV Data Set Config,jmeter,jmeter

JMeter 配置元件之按条件读取CSV Data Set Config,jmeter,jmeter

2024最新Jmeter接口测试从入门到精通(全套项目实战教程)文章来源地址https://www.toymoban.com/news/detail-825217.html

到了这里,关于JMeter 配置元件之按条件读取CSV Data Set Config的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Jmeter 配置元件

    使用Jmeter发送请求的时候,需要配置元件,配置请求Header、Cookie、数据集合等。可以模拟多个在线用户登录,修改请求头数据。 CSV Data Set Config元件可以从文件中读取数据,将CSV作为测试数据输入源,可以构造不同的输入参数给不同的线程使用。官方手册地址https://jmeter.apac

    2024年01月23日
    浏览(34)
  • JMeter--配置元件--HTTP请求默认值

    HTTP请求默认值     管理公用的HTTP请求配置数据; 一个线程下可以同时存在多个http请求,可以把公共参数,提取到 HTTP请求默认值 组件中,比如:协议、IP、端口号、编码等;然后在每个http请求的配置元件中,编辑自己独有的信息即可; 右键 添加 配置元件 HTTP 请求默认值

    2024年04月22日
    浏览(22)
  • 【性能测试】Jmeter 配置元件(一):计数器

    在 Jmeter 中,通过函数 ${__counter(,)} 可以实现每次加 1 1 1 的计数效果。但如果步长不为 1 1 1 ,则要利用到我们的计数器。 函数 作用 ${__counter(,)} 计数器,每次加 1 ${__dateTimeConvert(,)} 时间格式转换 ${__intSum(,)} 整数相加 ${__P(,)} 获取属性 ${__setProperty(,)} 设置属性 ${__Random(,)} 随机

    2024年02月05日
    浏览(26)
  • Jmeter+MySQL链接+JDBC Connection配置元件+使用

    参考大大的博客学习:怎么用JMeter操作MySQL数据库?看完秒懂!_jmeter mysql_程序员馨馨的博客-CSDN博客 注:里面所有没打码的都是假数据,麻烦大家自行修改正确的信息。 一、背景 需要取数据库中的值,作为参数进行增删改查操作,所以要Jmeter跟Mysql连接起来。 二、 加载JD

    2024年02月15日
    浏览(32)
  • 解决pandas读取csv、tsv文件出现错误《ParserError: Error tokenizing data. C error: Expected 1 fields in line...》

    读取文件方式改为 出错,ParserError: Error tokenizing data. C error: Expected 1 fields in line… 将读取方式改为 OK,问题解决! read_csv()是Pandas库中用于读取CSV文件的函数,其常用参数如下:

    2024年02月11日
    浏览(41)
  • Jmeter远程服务模式运行时引用csv文件的路径配置

    在使用jmeter过程中,本机的内存等配置不足,启动较多的线程时,可以采用分布式运行。 在分布式运行的时候,jmeter会自动将脚本从master主机发送到remote主机上,所以不需要考虑将脚本拷贝到remote主机。但是jmeter不会发送脚本中引用的数据文件,如果脚本中使用了csv数据文件

    2024年02月14日
    浏览(33)
  • 性能测试-Jmeter常用元件基础使用

    一、Jmeter元件 #线程组 添加HTTP请求 #配置元件 配置元件内的元件都是用于进行初始化的东西 #监听器 监听器主要是用来获取我们使用取样器发送请求后的响应数据相关信息 #定时器 定时器主要用来控制我们多久后执行该取样器(发送请求) #前置处理器 前置处理器是对我们的

    2024年03月21日
    浏览(37)
  • Jmeter的元件使用介绍:取样器详解

    Jmeter的取样器有:Http请求、JDBC请求、Beanshell取样器、调试取样器、JSR223取样器、FTP请求、GraphQL HTTP请求、TCP请求、Java请求等,本文主要介绍Http请求、JDBC请求、Beanshell取样器、调试取样器 介绍下Http请求元件的各项信息 1、协议:可以省略不填,省略默认是http协议,端口号默

    2024年02月05日
    浏览(33)
  • python csv读取方法及常用的csv读取代码

      csv文件是一种压缩文件格式,在网络上被广泛使用。csv文件在处理时会被转换成二进制文件,其中包含数据、文本和图像等。下面就是我们使用 python读取 csv文件的过程。 我们在进行 csv文件读取的时候,一般会有几种方法: 1、直接打开文件,然后通过 Python自带的第三方库

    2024年02月04日
    浏览(26)
  • JMeter学习笔记003-JMeter之CSV参数化

    谈CSV参数化之前,我们先聊一聊【用户定义的变量】功能,这个功能,可以使我们将一些信息配置成参数,在不同的组件中获取。 添加【用户定义的变量】的方式:【线程组】 - 添加 - 配置元件 - 【用户定义的变量】 如图所示,我新增了filePath与user两个变量,那么在当前线

    2024年02月03日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包