Advertisement

jmeter连接数据库--mongoDB

阅读量:

一、导入驱动包

  1. 将MongoDB的驱动包配置为mongo-java-driver-3.6.4.jar,并将其配置为安装路径下的ext插件。
  2. 请配置并启动jmeter服务。
  3. 在测试计划配置中心中,请创建一个新的线程组测试任务。

二、添加用户定义变量

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

5.这里声明三个变量(数据库名、集合、查询条件):考虑到数据库地址和端口一般不会轻易变化……无需做变量设置

三、添加JSR223 Sampler

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

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);

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

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

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

全部评论 (0)

还没有任何评论哟~