使用jmeter的JSR223 Sampler操作MongoDB

一、下载需要的jar

下载最新的gmongo-1.5.jar

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

使用jmeter的JSR223 Sampler操作MongoDB_第1张图片

使用jmeter的JSR223 Sampler操作MongoDB_第2张图片

下载后放到jmeter的lib下

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

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

使用jmeter的JSR223 Sampler操作MongoDB_第3张图片

使用jmeter的JSR223 Sampler操作MongoDB_第4张图片

二、启动jmeter,添加控件

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

使用jmeter的JSR223 Sampler操作MongoDB_第5张图片

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

使用jmeter的JSR223 Sampler操作MongoDB_第6张图片 (改个名字 例:配置信息)

使用jmeter的JSR223 Sampler操作MongoDB_第7张图片

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

使用jmeter的JSR223 Sampler操作MongoDB_第8张图片

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

 

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

使用jmeter的JSR223 Sampler操作MongoDB_第9张图片

选择groovy

使用jmeter的JSR223 Sampler操作MongoDB_第10张图片

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

使用jmeter的JSR223 Sampler操作MongoDB_第11张图片

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

使用jmeter的JSR223 Sampler操作MongoDB_第12张图片

 三、编写操作MongoDB的脚本

1.插入操作

插入前

使用jmeter的JSR223 Sampler操作MongoDB_第13张图片

脚本内容

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_第14张图片 查看结果

使用jmeter的JSR223 Sampler操作MongoDB_第15张图片

查看数据库

使用jmeter的JSR223 Sampler操作MongoDB_第16张图片 

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_第17张图片 

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_第18张图片

数据库Flg改变

使用jmeter的JSR223 Sampler操作MongoDB_第19张图片

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_第20张图片 

使用jmeter的JSR223 Sampler操作MongoDB_第21张图片 数据库没了 删除成功。。。

 

 

你可能感兴趣的:(jmeter,jmeter,mongodb,JSR223)