Jmeter将一张表中的数据作为参数插入另一张表

本文介绍了如何使用JMeter进行数据库操作,通过参数化从一个表中查询无效链接的ID,并将这些ID插入到另一个表中,实现自动化测试过程。首先配置JDBC Connection Configuration,然后添加JDBC Request进行查询和更新操作,利用CSV Data Set Config进行参数化处理,最后调整线程数和运行时间执行批量插入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上篇文章有讲到怎么测试出无效链接,本文将继续讲述怎么讲无效链接数据查询出对应ID,并将ID导入另外的表以及根据这个ID去数据库中将无效链接批量删除。

首先在Jmeter中添加线程组,在线程组下先添加JDBC Connection Configuration,配置如下

一般情况下使用我们需要更改的只有红框标注的地方

Variable name: 随便填,但是尽量填写有意义的名称方便记忆

Database URL: 填你的数据库链接,端口和你要用到的数据库名,后面的?serverTimezone=UTC 是因为我这边用的mysql数据库无法自动确定时区会报错所以加上去的,一般不需要加

Username和Password照实填写即可。

配置好JDBC Connection Configuration后再去测试计划中添加mysql-connector-java 的jar包

数据库连接配置好了以后就可以添加一个jdbc request进行测试,看下数据库连接有没有问题

 此

### 使用 JMeter 构造铺底数据进行性能测试 #### 准备工作 为了确保能够有效地利用 JMeter 来构造铺底数据,前期准备工作至关重要。这包括但不限于理解目标系统的业务逻辑以及所需模拟的具体场景[^1]。 #### 数据库交互设置 针对数据库的操作,无论是创建、更新还是读取记录,都需要通过 JDBC 请求实现。这意味着先要在 JMeter 中配置好相应的 JDBC Connection Configuration 组件,指定正确的驱动路径、URL 和认证信息等参数[^3]。 ```sql CREATE TABLE IF NOT EXISTS test_data ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); ``` 此 SQL 语句用于准备一张名为 `test_data` 的格作为示例中的基础结构之一;当然,在实际应用里应依据项目需求调整的设计。 #### 调用外部服务获取动态内容 当涉及到更复杂的场景比如从缓存服务器(如 Redis)提取特定键对应的值时,则可以借助 BeanShell 或者 JSR223 Sampler 编写自定义代码片段完成操作。下面给出了一段基于 Java 实现的简单例子来展示怎样访问远程 Redis 并将其返回的结果存储到变量中供后续步骤使用[^4]: ```java import redis.clients.jedis.Jedis; // 连接到Redis实例 Jedis jedis = new Jedis("localhost", 6379); String key = "example_key"; String value = jedis.get(key); vars.put("retrievedValueFromRedis", value); jedis.close(); ``` 这段脚本会尝试连接至本地运行的一个 Redis 实例并检索由给定名称标识的数据项,最后把获得的内容保存起来以便于其他组件引用。 #### 执行批量插入或其他大规模变更动作 一旦完成了上述各项设定之后就可以着手编写具体的事务处理器了——即那些负责执行大量重复性工作的元件。通常情况下会选择 Loop Controller 结合 While Controller 来控制循环次数或是直到满足某些条件为止才停止迭代过程。与此同时,还可以考虑引入 CSV Data Set Config 插件以支持多组不同的输入源文件从而进一步增强灵活性和可扩展性。 例如,如果想要向之前建立好的 `test_data` 内添加若干条新纪录的话,那么可以在 HTTP Request 下方新增一个 JDBC Request,并在里面填写如下所示的预处理语句模板: ```sql INSERT INTO test_data (name) VALUES ('${__RandomString(8,abcdefghijklmnopqrstuvwxyz)}') ``` 这里运用到了内置函数 `${__RandomString}` 自动生成长度固定且仅含小写字母字符串的形式填充字段名这一列的位置占位符部分。 ---
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值