![5189f0b1e89fa5d508e3231a2bd703df.gif](https://img-blog.csdnimg.cn/img_convert/5189f0b1e89fa5d508e3231a2bd703df.gif)
背景
使用Jmeter做接口测试时需要初始数据,需要连接数据库,然而我们的后端使用的是MongoDB。
操作步骤
2.1 导入将连接MongoDB 所涉及的jar包导入jmeter的扩展lib 1)扩展lib的地址:\works\apache-jmeter-3.3\lib\ext 涉及jar如下:gmongo-1.5.jar
mongo-java-driver-3.4.0-rc1.jar
mongodb-driver-3.4.0.rc1.jar
2)重新启动jmeter 2.2 添加JSR请求or前、后置处理器 2.2.1 添加JSR请求采样器 操作步骤:右击【线程组】》点击【添加】》点击【Sampler】》点击【JSR223 Sampler】。![eb84b2a4c3709c142b16502f69cd9a8b.png](https://img-blog.csdnimg.cn/img_convert/eb84b2a4c3709c142b16502f69cd9a8b.png)
![ad526d012839c16b69cfd5668ca6fdd8.png](https://img-blog.csdnimg.cn/img_convert/ad526d012839c16b69cfd5668ca6fdd8.png)
![68ca6f33327ba0a47df23aeb3b5577df.png](https://img-blog.csdnimg.cn/img_convert/68ca6f33327ba0a47df23aeb3b5577df.png)
![5b06ae9c71d5ded3df3290bad0d1e7b5.png](https://img-blog.csdnimg.cn/img_convert/5b06ae9c71d5ded3df3290bad0d1e7b5.png)
importcom.mongodb.*
importcom.gmongo.GMongoClient
importcom.mongodb.MongoCredential
importcom.mongodb.ServerAddress
//创建mongoClient连接 无密码
GMongoClientclient = new GMongoClient(new ServerAddress("${IP}",${Port}));
//连接指定的数据库,使用已经定义的参数
defDB=client.getDB("${AuthDB}");
//find()出来的是一个数组对象
DB.table1.find();
//出来的是查到的第一个对象
DB.table1.findOne([:]);
//插入数据
DB.table1.insert([Appid:'E8CUJW99',AppName:'TEST', Desc:111, Status:1, AppKey:'1111', Creater:'tester',Updater:'tester', TextEnabled:true, ImageEnabled:true, VedioEnabled:true,AudioEnabled:true]);
//删除数据
DB.table1.remove({'Appid':'E8CUJW99'});
2)通过帐号密码连接![d68a7d1ae30ba3cc15c0b2c3a7e5b8fc.png](https://img-blog.csdnimg.cn/img_convert/d68a7d1ae30ba3cc15c0b2c3a7e5b8fc.png)
importcom.mongodb.*
importcom.gmongo.GMongoClient
importcom.mongodb.MongoCredential
importcom.mongodb.ServerAddress
//创建mongoClient连接 有密码
credentials =MongoCredential.createCrdential('${userName}','${pwd}','${AuthDB}' as char[])
GMongoClientclient = new GMongoClient(new ServerAddress("${IP}",${Port}),[credentials])
log.info("test============================");
//连接指定的数据库,使用已经定义的参数
defDB=client.getDB("${AuthDB}");
//find()出来的是一个数组对象
DB.table1.find();
//出来的是查到的第一个对象
DB.table1.findOne([:]);
//插入数据
DB.table1.insert([Appid:'E8CUJW99',AppName:'TEST', Desc:111, Status:1, AppKey:'1111', Creater:'tester',Updater:'tester', TextEnabled:true, ImageEnabled:true, VedioEnabled:true,AudioEnabled:true]);
//删除数据
DB.table1.remove({'Appid':'E8CUJW99'});
踩过的坑
3.1 写入mongoDB 报javax.script.ScriptException:javax.script.ScriptException: groovy.lang.MissingMethodException:
No signature of
截图:![8716cce8f22e596e4e0a5c935ac0c37a.png](https://img-blog.csdnimg.cn/img_convert/8716cce8f22e596e4e0a5c935ac0c37a.png)
log.info("===test==="+ DB.table1.findOne([:]));
查询结果:![ce472d2d627f3efa768ce1bb64eef1f9.png](https://img-blog.csdnimg.cn/img_convert/ce472d2d627f3efa768ce1bb64eef1f9.png)
DB.table1.insert([Appid:'E8CUJW99',AppName:'TEST', Desc:111, Status:1, AppKey:'1111', Creater:'tester', Updater:'tester',TextEnabled:true, ImageEnabled:true, VedioEnabled:true, AudioEnabled:true]);
3.2 写入MongoDB报javax.script.ScriptException:
groovy.lang.MissingPropertyException:No
such property:XXXX for class:ScriptXX 原因: 字符没有加单引号(‘’) 解决方法: 写入MongoDB时含字符串的字段值加上单引号(‘’)即可。![d8f4ab12c9dded48808ab0f0abe60b83.png](https://img-blog.csdnimg.cn/img_convert/d8f4ab12c9dded48808ab0f0abe60b83.png)
原文链接:https://www.jianshu.com/p/1566d3487880
本文为51Testing经授权转载,转载文章所包含的文字来源于作者。如因内容或版权等问题,请联系51Testing进行删除。
推荐阅读点击阅读☞测试行业的点滴感悟……
点击阅读☞Jmeter接口测试之用例数据分离
点击阅读☞初学者如何编写Jmeter测试脚本?
点击阅读☞关于Jmeter长时间压测的可视化监控报告
点击阅读☞初学者如何编写Jmeter测试脚本?
![80b80663a64534dafcb8953e6e9d8e63.gif](https://img-blog.csdnimg.cn/img_convert/80b80663a64534dafcb8953e6e9d8e63.gif)
![02d5dbb6694611f98096c6d6ec19b07f.gif](https://img-blog.csdnimg.cn/img_convert/02d5dbb6694611f98096c6d6ec19b07f.gif)
![1a96b41465a5134fa7a3948faf26f6a8.png](https://img-blog.csdnimg.cn/img_convert/1a96b41465a5134fa7a3948faf26f6a8.png)
![02d5dbb6694611f98096c6d6ec19b07f.gif](https://img-blog.csdnimg.cn/img_convert/02d5dbb6694611f98096c6d6ec19b07f.gif)