jmeter连接MongoDB数据库,并且将查询的数据作为下一个接口的请求参数
2021/12/15 2:22:13
本文主要是介绍jmeter连接MongoDB数据库,并且将查询的数据作为下一个接口的请求参数,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
jmeter下载地址
Tip:本文演示的版本为5.1.1
导入驱动包
1.下载MongoDB的驱动包mongo-java-driver-2.11.3.jar(jmeter5.4.1自带这个包),并放入jmeter安装目录lib目录下
2.启动jmeter
3.在测试计划下创建一个线程组
添加用户定义变量
4.右击线程组,添加自定义变量【线程组->配置原件->用户定义变量】
5.这里定义3个变量(数据库名、集合、查询条件),因为数据库地址和端口变化的可能性不大,后面可以直接写死,这里不做变量设置
添加JSR223 Sampler
6.右击线程组,添加JSR223 Sampler【线程组->取样器->JSR223 Sampler】
7.复制并粘贴如下脚本,注意IP地址这里需要更换成自己的
import com.mongodb.*;
import java.util.Set;
vars.get("db_name");
vars.get("collections");
MongoClient mongoClient = new MongoClient("IP地址",27017); //根据IP、端口连mongo
DB db = mongoClient.getDB("${db_name}"); //选择数据库 Set <String>
Set<String> collectionNames = db.getCollectionNames();
log.info(db.getName() + "包含如下集合:" + collectionNames.size());
for (String collectionName : collectionNames) {
log.info(collectionName);}
log.info("数据库连接成功");
DBCollection dbCollection = db.getCollection("${collections}"); //选择集合
log.info("集合连接成功");
BasicDBObject searchObj = new BasicDBObject();
vars.get("thread_id");
searchObj.put("thread_id", "${thread_id}");
DBObject result = dbCollection.findOne(searchObj);
log.info("==============================>>>");
log.info(result.toString());
vars.putObject("result", result);
上面输出的变量为result
添加调试取样器拿到结果
8.添加调试取样器【线程组->取样器->调试取样器】,查看查询的结果
9.将调试取样器器的名称命名为"${resutl}"
10.添加查看结果树,并运行脚本,得到的响应数据如下
添加正则表达式提取字段
11.在调试取样器下面添加正则表达式提取器【调试取样器->添加->后置处理器->正则表达式提取器】,取出结果中的“姓名”和“身份证号”字段
12.正则表达式公式如下
13.再添加2个调试取样器,查看提取的结果,分别命名为:${customer_name} 和 ${id_no}
14.再次运行脚本,并查看结果,身份证和姓名两个字段均被取出
15.下一个接口若要用到这两个变量,直接使用"${customer_name}“和”${id_no}"就可以提取了
这篇关于jmeter连接MongoDB数据库,并且将查询的数据作为下一个接口的请求参数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-012024年每个初学者都应该知道的Django十大技巧
- 2024-09-30云原生周刊:Argo CD v2.13 发布候选版本丨2024.9.30
- 2024-09-29哪个更快:OpenAI Whisper、Google TTS 还是 Piper TTS??
- 2024-09-29MLOps 端到端系统在 Google 云平台(I):赋能预测解决方案
- 2024-09-26通过 gcloud CLI 认证从本地脚本写入 Google Sheets
- 2024-09-24GoLand 新建项目 Enable vendoring support automatically 的作用是什么?-icode9专业技术文章分享
- 2024-09-21MongoDB资料:新手入门与初级应用指南
- 2024-09-20MongoDB教程:初学者必备指南
- 2024-09-05MongoDB入门:快速掌握NoSQL数据库基础
- 2024-08-28go 项目中怎么打印调试-icode9专业技术文章分享