欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

jmeter连接数据库--mangoDB

程序员文章站 2022-04-02 20:41:14
一、导入驱动包1.下载MongoDB的驱动包mongo-java-driver-3.6.4.jar,并放入jmeter安装目录lib\ext目录下2.启动jmeter3.在测试计划下创建一个线程组二、添加用户定义变量4.右击线程组,添加自定义变量【线程组->配置原件->用户定义变量】5.这里定义3个变量(数据库名、集合、查询条件),因为数据库地址和端口变化的可能性不大,后面可以直接写死,这里不做变量设置三、添加JSR223 Sampler6.右击线程组...

一、导入驱动包

1.下载MongoDB的驱动包mongo-java-driver-3.6.4.jar,并放入jmeter安装目录lib\ext目录下
2.启动jmeter
3.在测试计划下创建一个线程组

jmeter连接数据库--mangoDB

二、添加用户定义变量

4.右击线程组,添加自定义变量【线程组->配置原件->用户定义变量】

jmeter连接数据库--mangoDB

5.这里定义3个变量(数据库名、集合、查询条件),因为数据库地址和端口变化的可能性不大,后面可以直接写死,这里不做变量设置

jmeter连接数据库--mangoDB

jmeter连接数据库--mangoDB

三、添加JSR223 Sampler

6.右击线程组,添加JSR223 Sampler【线程组->取样器->JSR223 Sampler】

jmeter连接数据库--mangoDB

7.复制并粘贴如下脚本,注意IP地址这里需要更换成自己的

import com.mongodb.*;
import java.util.Set;
import org.bson.types.ObjectId;

vars.get("db_name");
vars.get("collections");

MongoClient mongoClient = new MongoClient("192.168.254.111",31000);  //根据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("status");
searchObj.put("status","${status}"); //value为文本格式
//searchObj.put("status",${status}); //value为数字
//searchObj.put("status",new ObjectId("${status}")); //value为对象id
def result = dbCollection.find(searchObj); 

log.info("==============================>>>");

//输出查询结果
def RpData="";

result.each
{
    RpData=RpData+it.toString();
    log.info(it.toString());
}

vars.putObject("RpData", RpData);

jmeter连接数据库--mangoDB

四、添加调试取样器拿到结果

8.添加调试取样器【线程组->取样器->调试取样器】,查看查询的结果

jmeter连接数据库--mangoDB

10.添加查看结果树,并运行脚本,得到的响应数据如下

jmeter连接数据库--mangoDB

本文地址:https://blog.csdn.net/xiamu2217/article/details/109464262

相关标签: jmeter mongodb