[转帖]jmeter之发送jdbc请求--06篇

jmeter,发送,jdbc,请求 · 浏览次数 : 0

小编点评

**1. 创建线程组** ```java // 创建线程组 ThreadGroup threadGroup = new ThreadGroup("JDBC Connection Configuration"); ``` **2. 配置数据库连接** ```java // 设置数据库 URL String databaseUrl = "jdbc:mysql://127.0.0.1:3306/vue_interface?useUnicode=true&characterEncoding=utf-8"; // 创建 JDBC 连接配置元件 ConnectionConfiguration configuration = new ConnectionConfiguration(databaseUrl); // 创建 JDBC 连接 Connection connection = DriverManager.getConnection(configuration); ``` **3. 创建线程组中的 JDBC 请求** ```java // 创建线程组中的 JDBC 请求 JDBCRequest request = new JDBCRequest(); // 设置查询语句 request.setQueryString("select username from user_model where sex=?"); // 设置参数 request.setParameter("s", "male"); // 设置查询结果变量名 request.setResultVariableName("username"); // 设置调试取样器 request.setDebug(true); // 设置结果树查看器 request.setResultsTree("resultTree"); // 设置超时时间 request.setTimeout(10000); ``` **4. 执行请求并观察结果** ```java // 执行 JDBC 请求 ResultSet resultSet = request.executeQuery(); // 获取结果集 while (resultSet.next()) { // 获取变量值 String username = resultSet.getString("username"); // 将用户名存储到变量中 vars.put("name", username); } // 关闭结果集和连接 resultSet.close(); connection.close(); ```

正文

1.setup线程组中新建一个JDBC Connection Configuration配置元件

2.设置配置信息

Database URL:jdbc:mysql://127.0.0.1:3306/vue_interface?useUnicode=true&characterEncoding=utf-8

3.新建一个线程组,在线程组中添加一个JDBC Request

然后填写信息请求信息,如下图

Query:sql语句,可以写成占位符形式,英文问号占位,例如select username from user_model where sex=?,如果使用占位形式,Query Type要选择Prepared Select Statement,这是查询的,更新等操作类似

Query Type解释

Parameter values: 变量值,多个用逗号分隔

parameter types: 变量类型

Result Variable name:变量存储所有的返回值

Variable names:取查询结果列值的别名,多个用逗号,跳过列用空

query timeout:超时时间

添加一个调试取样器和查看结果树,执行请求,观察生成的变量

可以通过beanshell获取某一个用户名,比如下面的脚本获取到第一个数组中的username,然后存储到jmeter变量name中

name=vars.getObject("marray").get(0).get("username");
vars.put("name",name)

接下来我们可以使用ForEach控制器来使用jdbc请求返回的数据,具体用法可以参考前面的文章

在请求中使用ForEach循环控制器产生的值

请求结果:

4.使用变量参数化sql

通过察看结果树看到请求已经成功了

文章知识点与官方知识档案匹配,可进一步学习相关知识

与[转帖]jmeter之发送jdbc请求--06篇相似的内容:

[转帖]jmeter之发送jdbc请求--06篇

1.setup线程组中新建一个JDBC Connection Configuration配置元件 2.设置配置信息 Database URL:jdbc:mysql://127.0.0.1:3306/vue_interface?useUnicode=true&characterEncoding=utf

[转帖]Jmeter之JDBC Request使用方法(oracle)

https://zhuanlan.zhihu.com/p/121747788 JDBC Request: 这个sampler可以向数据库发送一个jdbc请求(sql语句),它经常需要和JDBC Connection Configuration 配置元件一起配合使用。 目录: 一、准备工作 二、配置J

[转帖]jmeter之使用csv文件传递参数-05篇

csv文件格式,第一列为手机号,第二列为密码 1.右键添加一个配置元件 csv数据文件设置 2.设置csv数据提取路径 3.引用数据 4.设置线程循环运行两次,然后发送请求 看到结果就执行了两次,取得用户名和密码发生了变化

[转帖]jmeter之foreach循环控制器-03篇

上篇我们通过正则表达式获取到了一组数据,那么怎么来用呢?下面就用foreach控制器来使用结果,如下图所示 然后再foreach控制器里添加要循环的请求,我们模拟百度搜索,value填入${id} 然后运行测试,会发现请求循环执行了10次,每次的值都不一样

[转帖]Jmeter笔记:使用Jmeter向kafka发送消息

https://www.cnblogs.com/daydayup-lin/p/14124816.html 日常工作中有时候需要向kafka中发送消息来测试功能或者性能,这时候我们怎么办呢?我之前是自己写个简单的python脚本来模拟发送消息的,其实用Jmeter来实现也比较简单方便。 1、我们必须有

[转帖]Jmeter学习笔记(十一)——定时器

https://www.cnblogs.com/pachongshangdexuebi/p/11571524.html 默认情况下,Jmeter线程在发送请求之间没有间歇。不设置定时器,短时间内会产生大量访问请求,导致服务器被请求淹没,利用Jmeter进行压测时,一般会和定时器一起,控制请求的吞吐量

[转帖]jmeter 响应时间rt很小,但是tps也很小&jmeter,脚本处理,千万不要用js

一、背景: 在压测的时候,查看jmeter聚合报告,发现rt很小,但是tps也很小。 讲道理来说,响应时间越小,tps应该越大。 一共压测10分钟,发现jmeter请求的样本数量非常小,才8500个请求。 10分钟内,才打出了8500个请求。 tps= 总样本数量/总时间。 时间是固定的600s,总

[转帖]jmeter分布式执行原理

jmeter分布式执行原理https://www.jianshu.com/p/bcfc48054b1e Jmeter分布式执行原理: 1、Jmeter分布式测试时,选择其中一台作为控制机(Controller),其它机器做为代理机(Agent)。 2、执行时,Controller会把脚本发送到每台A

[转帖]jmeter SSL证书相关配置

在实际工作中,我们大多数接口都是用的HTTPS来保证安全,使用jmeter测试HTTPS请求是如何配置证书呢? 1.最简单的方法,在选项里选择SSL管理器,然后选择相应的证书即可 在弹出的选择框选择证书即可,亲测可以使用.p12证书,因为我们公司用的是p12类型证书,当发起HTTPS请求时,如果设置

[转帖]解决jmeter请求响应结果乱码的问题

如下图所示,请求百度接口的时候,发现返回的信息里面中文是乱码 这个时候我们只需要改一下jmeter里的配置文件,设置响应结果的字符编码为UTF-8就行了。 进入jmeter安装目录/bin中,找到jmeter.properties这个文件,windows用文本编辑器打开,我是mac的,直接vim编辑