0. 环境
MongoDB服务器的版本,因为JMeter自带的mongo-java-driver版本过低,如果你的mongo版本比较高,用自带的是不能正常运行脚本的。
1. 下载
或者
lib
- 这里下载最新的不能运行,使用原来的可以
重启JMeter
2. 创建
2.1 创建线程组
2.2 添加用户变量
这里定义3个变量(数据库名、集合、查询条件),因为数据库地址和端口变化的可能性不大,后面可以直接写死,这里不做变量设置
2.3 JSR223 Sampler
在线程组下,新增[ JSR223 Sampler], 语言选择
groovy {Groovy 3.0.17 / Groovy Scripting Engine 2.0}
import com.mongodb.*; import java.util.Set; vars.get("db_name"); vars.get("collections"); MongoClient mongoClient = new MongoClient("192.168.92.159",20000); //根据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
2.4 添加调试取样器拿到结果
将调试取样器器的名称命名为"${resutl}”
2.5 添加查看树
运行脚本,得到的响应数据如下