• 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}"就可以提取了

  • 相关阅读:
    Java Web 047: 处理商品列表的查询
    Java Web 047:开发商品列表的模板页
    Java Web 046: 处理登录成功后的跳转
    Java Web 045: 处理登录请求
    Java Web 044: 处理注册响应
    Java Web 043: 处理注册请求
    Java Web 042: 创建UserDao控制user的相关数据库操作
    Java Web 041: 创建数据模型和模拟数据库
    Java Web 03: MVC分层架构 / JavaEE分层架构 (图解)
    Java Web 02: 单例模式
  • 原文地址:https://www.cnblogs.com/wangjunjiehome/p/15689070.html
Copyright © 2020-2023  润新知