Jmeter使用Groovy实现访问Mongodb

基于以下原因: 
      在日常测试过程中遇到需要从mongodb获取数据内容,在Jmeter的请求中进行使用。

 

之前在CSDN博客写过该文档,但是账号丢失了,所以转移到这里了。

1.Copy附件的Jar到lib/ext

mongo-java-driver-3.4.3.jar

mongodb-driver-3.4.3.jar

gmongo-1.5.jar

2.创建【JSR223 Sampler 】

3.配置【JSR223 Sampler 】

 Language 选择Groovy即可,在下面的Script处编写脚本。

4.脚本实例

Find One

import com.mongodb.*
import com.gmongo.GMongoClient
import com.mongodb.MongoCredential
import com.mongodb.ServerAddress
 
//以下这两行是针对包含用户名和密码配置的数据库的。
// credentials =MongoCredential.createCredential('mongodb', 'admin', 'mongodb' as char[])
// MongoClientOptions options = MongoClientOptions.builder().serverSelectionTimeout(1000)
 
//创建一个Client连接,如果是认证的则使用下面的这一行
//GMongoClient client = new GMongoClient(new ServerAddress(ip,Integer.valueOf(port)), [credentials])
GMongoClient client = new GMongoClient(new ServerAddress("127.0.0.1",27017))
  
//连接数据库
def DB=client.getDB("mmsdbserverlog")
  
//执行操作logs是Collction Name
def dataDB=DB.logs.findOne()
 
//将操作转化为变量
String dataapp=dataDB
 
//将结果保存在Respond Data里
SampleResult.setResponseData(dataapp)

Find

import com.mongodb.*
import com.gmongo.GMongoClient
import com.mongodb.MongoCredential
import com.mongodb.ServerAddress
 
//以下这两行是针对包含用户名和密码配置的数据库的。
// credentials =MongoCredential.createCredential('mongodb', 'admin', 'mongodb' as char[])
// MongoClientOptions options = MongoClientOptions.builder().serverSelectionTimeout(1000)
  
//创建一个Client连接,如果是认证的则使用下面的这一行
//GMongoClient client = new GMongoClient(new ServerAddress(ip,Integer.valueOf(port)), [credentials])
GMongoClient client = new GMongoClient(new ServerAddress("127.0.0.1",27017))
   
//连接数据库
def DB=client.getDB("admin")
   
//连接coll
 
def doc=DB.Curious.find()
 
def RpData=""
 
doc.each
{
    RpData=RpData+it.toString()
}
 
 
SampleResult.setResponseData(RpData)

 

posted @ 2018-01-29 17:11  Curious1986  阅读(679)  评论(0编辑  收藏  举报