Jmeter使用Groovy实现访问Mongodb
基于以下原因:
在日常测试过程中遇到需要从mongodb获取数据内容,在Jmeter的请求中进行使用。
之前在CSDN博客写过该文档,但是账号丢失了,所以转移到这里了。
1.Copy附件的Jar到lib/ext
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)