Jmeter系列(31)- 获取并使用 JDBC Request 返回的数据

简介: Jmeter系列(31)- 获取并使用 JDBC Request 返回的数据

如果你想从头学习Jmeter,可以看看这个系列的文章哦

https://www.cnblogs.com/poloyy/category/1746599.html

 

前言


  • Jmeter 使用 JDBC Request 获取数据库中数据,很多人都会用,因为测试中,有时候需要大量的用户进行登录,然后获取数据库中真实的数据用于测试
  • 前面也详细讲到 JDBC Request 的具体使用,一般是通过 Variable names 和 Result variable name 来获取返回的数据
  • 这篇文章主要讲的就是把 Variable names 和 Result variable name 获取到的数据提取出来,给到 HTTP 请求使用

 

Variable names + Foreach控制器


线程组结构树

image.png


image.png

image.png


Variable names + 循环控制器


和上面的栗子只是换了个控制器而已,没太大变化

线程组结构树

image.png

从 1 开始,递增加到 100为止,每次递增 1

  • 初始值=1
  • 每次增加 1
  • 最大的值=100(包含)
  • 新变量 num

 

循环控制器内的 Debug Sampler

image.png

${__V()} 是关联函数,后面讲到

 

循环运行的结果( mobile:${mobile} )

image.png


Result variable name + Foreach控制器


线程组结构树

image.png

正则提取器

image.png

重点

Applu to 选中 Jmeter Variable Name to use,因为要从 Jmeter Variables 中拿到 result_mobile 变量进行提取

 

调试取样器运行结果

image.png

正则提取后的值是不是跟上面 Variable names 获取的值列表很像,是的!然后再结合 ForEach控制器就好啦

 

ForEach控制器

image.png


Result variable name + 循环控制器


和上面的栗子只是换了个控制器而已,没太大变化

线程组结构树

image.png

image.png

重点一

  • ${__BeanShell(vars.getObject("result_mobile").get(${num}).get("mobile"))}
  • ${__BeanShell()} :执行BeanShell脚本,一般比较短的脚本可以用此方法来写,后面会再详细讲解这个函数

重点二

  • vars.getObject("result_mobile").get(${num}).get("mobile")
  • result_mobile:是一个数组,即 JDBC Request 里的 Result variable name,每个元素的格式都是 {mobile=158000480001}
  • ${num}:上面计数器的值,每次递增 1,这里是数组下标的意思
  • 总结:获取 result_mobile 数组,每次取数组中第 num 个元素,从元素中取 mobile 键的值【这是固定写法,只改Object 名、键名就行了】

 

循环运行的结果( mobile:${user_mobile} )

image.png


相关文章
|
8天前
|
安全 Java 数据库连接
jdbc解析excel文件,批量插入数据至库中
jdbc解析excel文件,批量插入数据至库中
21 0
|
8天前
|
Java 数据库连接 数据库
使用原生JDBC动态解析并获取表格列名和数据
使用原生JDBC动态解析并获取表格列名和数据
|
7月前
|
SQL Java 关系型数据库
JDBC插入数据详解
在Java应用程序中,与数据库交互是一项常见的任务。其中,插入数据操作是一种基本的数据库操作之一。本文将详细介绍如何使用Java JDBC(Java Database Connectivity)来执行插入数据操作。无论您是初学者还是有一定经验的开发人员,都能从本文中获得有关插入数据的重要信息。
100 0
|
7月前
|
SQL Java 大数据
Hive实战(03)-深入了解Hive JDBC:在大数据世界中实现数据交互
Hive实战(03)-深入了解Hive JDBC:在大数据世界中实现数据交互
254 1
|
8天前
|
Java 关系型数据库 MySQL
JDBC实现往MySQL插入百万级数据
JDBC实现往MySQL插入百万级数据
|
5天前
|
Java 数据库连接 数据库
实时计算 Flink版操作报错合集之flink jdbc写入数据时,长时间没写入后报错,是什么原因导致的
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
27 9
|
6天前
|
SQL 流计算 API
实时计算 Flink版产品使用合集之ClickHouse-JDBC 写入数据时,发现写入的目标表名称与 PreparedStatement 中 SQL 的表名不一致如何解决
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
12 0
|
8天前
|
SQL Java 数据库连接
Springboot框架整合Spring JDBC操作数据
JDBC是Java数据库连接API,用于执行SQL并访问多种关系数据库。它包括一系列Java类和接口,用于建立数据库连接、创建数据库操作对象、定义SQL语句、执行操作并处理结果集。直接使用JDBC涉及七个步骤,包括加载驱动、建立连接、创建对象、定义SQL、执行操作、处理结果和关闭资源。Spring Boot的`spring-boot-starter-jdbc`简化了这些步骤,提供了一个在Spring生态中更便捷使用JDBC的封装。集成Spring JDBC需要添加相关依赖,配置数据库连接信息,并通过JdbcTemplate进行数据库操作,如插入、更新、删除和查询。
|
8天前
|
SQL Java 关系型数据库
JDBC批量插入mysql数据
JDBC批量插入mysql数据
|
8天前
|
Java 关系型数据库 MySQL
【JDBC编程】基于MySql的Java应用程序中访问数据库与交互数据的技术
【JDBC编程】基于MySql的Java应用程序中访问数据库与交互数据的技术