Jmeter三种方式获取数组中多个数据并将其当做下个接口参数入参【附带JSON提取器和CSV格式化】

目录

一、传统方式-JOSN提取器获取接口返回值

1、接口调用获取返回值

2、添加JSON提取器

3、调试程序查看结果

4、添加循环控制器

5、设置count计数器

6、添加请求

7、执行请求

二、CSV参数化

1、将结果写入后置处理程序

2、设置循环处理器

3、添加CSV文件

4、设置计数器

5、接口调用

三、数据库查询

1、添加mysql jar包

2、、添加JDBC配置元件

3、调试数据库语句

4、ForEach处理器


一、传统方式-JOSN提取器获取接口返回值

1、接口调用获取返回值

2、添加JSON提取器

添加后置处理器-JSON提取器

3、调试程序查看结果

添加后置处理器-调试后置处理程序,验证结果是否正确

4、添加循环控制器

添加-逻辑控制器-循环控制器,并设定循环次数

5、设置count计数器

添加配置元件-计数器,设置计数器最大次数

6、添加请求

引用参数的表达式:${__V(cityId_${__counter(,)},)}

① __V为jmeter自带的一个嵌套变量函数
运行第1次cityId_${__counter(,)}为id_1
运行第2次cityId_${__counter(,)}为id_2
······
运行第367次cityId_${__counter(,)}为id_367

② __counter为jmeter自带的一个计数函数
${__counter(,)} 引用这个函数,每运行1次+1,从1开始

③ cityId_${__counter(,)}
运行第1次cityId_1,运行第2次cityId_2,以此类推,直到运行到循环次数cityId_367

7、执行请求

二、CSV参数化

1、将结果写入后置处理程序

添加后置处理器-BeanShell后置处理程序

代码如下:

FileWriter fstream = new FileWriter("D:\\orderrtn.csv",true);
BufferedWriter out=new BufferedWriter(fstream);
num=vars.get("orderRtnNo_matchNr");
//log.info(num);
for(int i=1;i<=(Integer.parseInt(num));i++){
//	log.info("i="+i);
//	log.info(vars.get("id_"+i));  查看是否获取到变量
//	log.info(vars.get("name_"+i));
out.write(vars.get("orderRtnNo_"+i)+"\n");
}
out.close();
fstream.close();

2、设置循环处理器

添加-逻辑控制器-循环控制器,并设定循环次数,因为CSV文件中的orderRtnNo显示为orderRtnNo_1,orderRtnNo_11显示,所以此处循环次数要是orderRtnNo_#

3、添加CSV文件

4、设置计数器

添加在循环控制器下,count初始值为1,每次循环+1。
调用JSON提取器提取的orderRtnNo进行数据查询
第一次循环,需要使用orderRtnNo_1进行查询,orderRtnNo_1 = orderRtnNo_${count},第二次循环需要orderRtnNo_2,以此类推。

5、接口调用

  • 添加函数

调用 goodsName_${count} 不可以直接${goodsName_${count}},需要使用嵌套变量函数__V:

函数助手生成的函数字符串为:${__V(orderRtnNo_${count},)},
注意要把第一个参数后的逗号删掉: ${__V(orderRtnNo_${count})},代表只需要第一个参数,忽略默认值参数。

三、数据库查询

1、添加mysql jar包

具体的可以去百度下载

2、、添加JDBC配置元件

添加配置元件-JDBC Connection Configuration

Database Connection Configuration是主要的配置信息。

Database URL:数据库链接地址;注意端口号后是数据库名称

jdbc:mysql://localhost:3306/database_name?useUnicode=true&characterEncoding=utf-8

JDBC Driver class:数据库驱动程序,根据不同数据库,选择不同的驱动程序;

mysql:

Username:数据库用户名;

Password:数据库密码。

3、添加JDBC请求

添加-请求-JDBC请求

3、调试数据库语句

4、ForEach处理器

5、接口调用

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

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

相关文章

汉兴能源研发费用率下降,“不差钱”募集资金近九成补流?

《港湾商业观察》施子夫 王璐 日前&#xff0c;冲刺创业板的上海汉兴能源科技股份有限公司&#xff08;以下简称&#xff0c;汉兴能源&#xff09;更新了招股书。 2023年6月末&#xff0c;汉兴能源正式递表创业板&#xff0c;保荐机构为长江证券。 从业务属性上来看&#x…

【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第三篇 嵌入式Linux驱动开发篇-第五十三章 设备树下的platform驱动

i.MX8MM处理器采用了先进的14LPCFinFET工艺&#xff0c;提供更快的速度和更高的电源效率;四核Cortex-A53&#xff0c;单核Cortex-M4&#xff0c;多达五个内核 &#xff0c;主频高达1.8GHz&#xff0c;2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT…

微信小程序--页面框架布局

创建page之后&#xff0c;在wxml中写的页面内容&#xff0c;都会包裹在<page>标签之中 若想像网页一样进行顶部、底部、内容等页面框架布局&#xff0c;仅仅写以下样式是不足够的 <view style"height: 10%; background-color: blueviolet;">顶部 </v…

深入理解 Java 虚拟机第三版(周志明)

这次社招选的这本作为 JVM 资料查阅&#xff0c;记录一些重点 1. 虚拟机历史 Sun Classic VM &#xff1a;已退休 HotSpot VM&#xff1a;主流虚拟机&#xff0c;热点代码探测技术 Mobile / Embedded VM &#xff1a;移动端、嵌入式使用的虚拟机 2.2 运行时数据区域 程序计…

Vue入门记录(一)

效果 本文为实现如下前端效果的学习实践记录&#xff1a; 实践 入门的最佳实践我觉得是先去看官网&#xff0c;官网一般都会有快速入门指引。 根据官网的快速上手文档&#xff0c;构建一个新的Vue3TypeScript&#xff0c;查看新建的项目结构&#xff1a; 现在先重点关注comp…

学生信息管理系统详细设计文档

一、设计概述 学生信息管理系统是一个用于管理学生信息的软件系统&#xff0c;旨在提高学校对学生信息的管理效率。本系统主要包括学生信息管理、课程信息管理、成绩信息管理、班级信息管理等功能模块。详细设计阶段的目标是确定各个模块的实现算法&#xff0c;并精确地表达这…

【AIGC】Llama-3 官方技术报告

Llama-3 技术报告&#xff08;中文翻译&#xff09; 欢迎关注【youcans的AGI学习笔记】原创作品 0. 简介 现代人工智能&#xff08;AI&#xff09;系统的核心驱动力来自于基础模型。 本文介绍了一组新的基础模型&#xff0c;称为 Llama 3。它是一个语言模型系列&#xff0c;原…

基于STM32瑞士军刀--【FreeRTOS开发】学习笔记(二)|| 堆 / 栈

堆和栈 1. 堆 堆就是空闲的一块内存&#xff0c;可以通过malloc申请一小块内存&#xff0c;用完之后使用再free释放回去。管理堆需要用到链表操作。 比如需要分配100字节&#xff0c;实际所占108字节&#xff0c;因为为了方便后期的free&#xff0c;这一小块需要有个头部记录…

Mysql第五次作业 触发器和存储过程

1、建库建表 建立触发器&#xff0c;订单表中增加订单数量后&#xff0c;商品表商品数量同步减少对应的商品订单出数量,并测试 建立触发器&#xff0c;实现功能:客户取消订单&#xff0c;恢复商品表对应商品的数量 建立触发器&#xff0c;实现功能:客户修改订单&#xff0c;商品…

护眼大路灯哪个口碑最好?五款专业护眼大路灯分享

护眼大路灯哪个口碑最好&#xff1f;护眼大路灯作为一款能够真正改善光线环境&#xff0c;有效做到减少视觉疲劳的护眼大路灯&#xff0c;逐渐成为众多家庭的必备照明神器。然而&#xff0c;市面上的护眼大路灯品牌琳琅满目&#xff0c;性能参差不齐&#xff0c;部分低质产品在…

docker安装httpd服务

docker安装httpd 一、简介 1、docker Docker是一个开源的容器化平台&#xff0c;可以轻松构建、发布和运行应用程序 2、httpd Apache HTTP服务器&#xff08;httpd&#xff09;是一个流行的开源Web服务器软件&#xff0c;用于托管网站和Web应用 二、准备环境 1、CentOS …

Docker安全管理与HTTPS协议

1 Docker容器的安全管理注意事项 Docker本身的架构与机制就可能产生问题&#xff0c;例如这样一种攻击场景&#xff0c;黑客已经控制了宿主机上的一些容器&#xff0c;或者获得了通过在公有云上建立容器的方式&#xff0c;然后对宿主机或其他容器发起攻击。 1. 容器之间的局…

C++ Lambda表达式个人理解

1、Lambda概述 lambda表达式&#xff08;也称为lambda函数&#xff09;是在调用或作为函数参数传递的位置处定义匿名函数对象的便捷方法。通常&#xff0c;lambda用于封装传递给算法或异步方法的几行代码。 2、Lambda表达式定义 2.1 Lambda表达式实例 Lambda有很多叫法&…

按图搜索新体验:阿里巴巴拍立淘API返回值详解

阿里巴巴拍立淘API是一项基于图片搜索的商品搜索服务&#xff0c;它允许用户通过上传商品图片&#xff0c;系统自动识别图片中的商品信息&#xff0c;并返回与之相关的搜索结果。以下是对阿里巴巴拍立淘API返回值的详细解析&#xff1a; 一、主要返回值内容 商品信息 商品列表…

深度学习趋同性的量化探索:以多模态学习与联合嵌入为例

深度学习趋同性的量化探索&#xff1a;以多模态学习与联合嵌入为例 参考文献 据说是2024年最好的人工智能论文&#xff0c;是否有划时代的意义&#xff1f; [2405.07987] The Platonic Representation Hypothesis (arxiv.org) ​arxiv.org/abs/2405.07987 趋同性的量化表达 …

CentOS搭建Apache服务器

安装对应的软件包 [roothds ~]# yum install httpd mod_ssl -y 查看防火墙的状态和selinux [roothds ~]# systemctl status firewalld [roothds ~]# cat /etc/selinux/config 若未关闭&#xff0c;则关闭防火墙和selinux [roothds ~]# systemctl stop firewalld [roothds ~]# …

全新微软语音合成网页版源码,短视频影视解说配音网页版系统-仿真人语音

源码介绍 最新微软语音合成网页版源码&#xff0c;可以用来给影视解说和短视频配音。它是TTS文本转语言&#xff0c;API接口和PHP源码。 这个微软语音合成接口的源码&#xff0c;超级简单&#xff0c;就几个文件搞定。用的是官方的API&#xff0c;试过了&#xff0c;合成速度…

Github个人网站搭建详细教程【Github+Jekyll模板】

文章目录 前言一、介绍1 Github Pages是什么2 静态网站生成工具3 Jekyll简介Jekyll 和 GitHub 的关系 4 Mac系统Jekyll的安装及使用安装Jekyll的简单使用 二、快速搭建第一个Github Pages网站三、静态网站模板——Chirpy1 个人定制 四、WordPress迁移到Github参考资料 前言 23…

DMv8共享存储集群部署

DMv8共享存储集群部署 环境说明 操作系统&#xff1a;centos7.6 服务器&#xff1a;2台虚拟机 达梦数据库版本&#xff1a;达梦V8 安装前准备工作 参考达梦官方文档&#xff1a;https://eco.dameng.com/document/dm/zh-cn/ops/DSC-installation-cluster.html#%E4%B8%80%E3…

Java面试八股之什么是spring boot starter

什么是spring boot starter Spring Boot Starter是Spring Boot项目中的一个重要概念。它是一种依赖管理机制&#xff0c;用于简化Maven或Gradle配置文件中的依赖项声明。Spring Boot Starter提供了一组预定义的依赖关系&#xff0c;这些依赖关系被封装在一个单一的包中&#x…