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

使用jmeter的JSR223 Sampler操作MongoDB

程序员文章站 2022-09-05 14:38:46
一、下载需要的jar下载最新的gmongo-1.5.jarhttps://mvnrepository.com/artifact/com.gmongo/gmongo下载后放到jmeter的lib下2.同理将mongo-java-driver-3.12.7.jar下载 也放到lib下https://mvnrepository.com/artifact/org.mongodb/mongo-java-driver二、启动jmeter,添加控件1.创建一个线程用户---...

一、下载需要的jar

下载最新的gmongo-1.5.jar

https://mvnrepository.com/artifact/com.gmongo/gmongo

使用jmeter的JSR223 Sampler操作MongoDB

使用jmeter的JSR223 Sampler操作MongoDB

下载后放到jmeter的lib下

使用jmeter的JSR223 Sampler操作MongoDB

2.同理将mongo-java-driver-3.12.7.jar下载 也放到lib下

https://mvnrepository.com/artifact/org.mongodb/mongo-java-driver

使用jmeter的JSR223 Sampler操作MongoDB

使用jmeter的JSR223 Sampler操作MongoDB

二、启动jmeter,添加控件

1.创建一个线程用户---线程组

使用jmeter的JSR223 Sampler操作MongoDB

2.添加配置原件---用户配置 

使用jmeter的JSR223 Sampler操作MongoDB (改个名字 例:配置信息)

使用jmeter的JSR223 Sampler操作MongoDB

点下面的add按钮,添加MongoDB的配置信息(一定要写对o..)

使用jmeter的JSR223 Sampler操作MongoDB

mongoIp	xxx.xxx.xxx.xxx	
mongoPort	27017	
userName	用户名
password	密码	
db	数据库
admin_db	admin	

 

3. 添加取样器---JSR223 Sampler(groovy)

使用jmeter的JSR223 Sampler操作MongoDB

选择groovy

使用jmeter的JSR223 Sampler操作MongoDB

(我添加了4个 分别是插入、查询、更新、删除)

使用jmeter的JSR223 Sampler操作MongoDB

4.添加监听器---结果树(可以看执行结果)

使用jmeter的JSR223 Sampler操作MongoDB

 三、编写操作MongoDB的脚本

1.插入操作

插入前

使用jmeter的JSR223 Sampler操作MongoDB

脚本内容

import com.mongodb.*
import com.gmongo.GMongoClient
import com.mongodb.MongoCredential
import com.mongodb.ServerAddress
//配置数据库
credentials =MongoCredential.createCredential('${userName}', '${admin_db}', '${password}' as char[])
//创建一个Client连接
GMongoClient client = new GMongoClient(new ServerAddress("${mongoIp}",${mongoPort}), [credentials])
//连接数据库
def DB=client.getDB("${db}")
//带时间的插入操作
def dataDB=DB.getCollection("test").insert(["Id" : "6666", "Flg" : "0", "create_date" : new Date(), "update_date" : new Date()])
//将操作转化为变量
String ReData=dataDB
//将结果保存在Respond Data里
SampleResult.setResponseData(ReData)

执行脚本

使用jmeter的JSR223 Sampler操作MongoDB 查看结果

使用jmeter的JSR223 Sampler操作MongoDB

查看数据库

使用jmeter的JSR223 Sampler操作MongoDB 

2.查询操作

import com.mongodb.*
import com.gmongo.GMongoClient
import com.mongodb.MongoCredential
import com.mongodb.ServerAddress
//配置数据库
credentials =MongoCredential.createCredential('${userName}', '${admin_db}', '${password}' as char[])
//创建一个Client连接
GMongoClient client = new GMongoClient(new ServerAddress("${mongoIp}",${mongoPort}), [credentials])
//连接数据库
def DB=client.getDB("${db}")
//查询第一条数据 测试是否连接成功
def dataDB= DB.getCollection("test").findOne()
//将操作转化为变量
String ReData=dataDB
//将结果保存在Respond Data里
SampleResult.setResponseData(ReData)

执行结果

使用jmeter的JSR223 Sampler操作MongoDB 

3.更新操作

import com.mongodb.*
import com.gmongo.GMongoClient
import com.mongodb.MongoCredential
import com.mongodb.ServerAddress
//配置数据库
credentials =MongoCredential.createCredential('${userName}', '${admin_db}', '${password}' as char[])
//创建一个Client连接
GMongoClient client = new GMongoClient(new ServerAddress("${mongoIp}",${mongoPort}), [credentials])
//连接数据库
def DB=client.getDB("${db}")
//连接coll 执行操作  test:集合名  Id:查询的字段 Flg:更新的字段
def dataDB=DB.getCollection("test").update([Id: '2333'], [$set: [Flg: '0']])
//将操作转化为变量
String ReData=dataDB
//将结果保存在Respond Data里
SampleResult.setResponseData(ReData)

执行结果

使用jmeter的JSR223 Sampler操作MongoDB

数据库Flg改变

使用jmeter的JSR223 Sampler操作MongoDB

4.删除操作

 

import com.mongodb.*
import com.gmongo.GMongoClient
import com.mongodb.MongoCredential
import com.mongodb.ServerAddress
//配置数据库
credentials =MongoCredential.createCredential('${userName}', '${admin_db}', '${password}' as char[])
//创建一个Client连接
GMongoClient client = new GMongoClient(new ServerAddress("${mongoIp}",${mongoPort}), [credentials])
//连接数据库
def DB=client.getDB("${db}")
//连接coll 执行操作  test:集合名  Id:查询的字段 Flg:更新的字段
def dataDB=DB.getCollection("test").remove(["Id":"6666"])
//将操作转化为变量
String ReData=dataDB
//将结果保存在Respond Data里
SampleResult.setResponseData(ReData)

执行结果

使用jmeter的JSR223 Sampler操作MongoDB 

使用jmeter的JSR223 Sampler操作MongoDB 数据库没了 删除成功。。。

 

 

本文地址:https://blog.csdn.net/qq_21101587/article/details/109000219