背景

  使用Jmeter做接口测试时需要初始数据,需要连接数据库,然而我们的后端使用的是MongoDB。

操作步骤

2.1 导入将连接MongoDB 所涉及的jar包导入jmeter的扩展lib1)扩展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)重新启动jmeter2.2 添加JSR请求or前、后置处理器2.2.1 添加JSR请求采样器操作步骤:右击【线程组】》点击【添加】》点击【Sampler】》点击【JSR223 Sampler】。2.2.2 添加前,后置处理器-JSR点击【线程组】or 【Sampler】》点击【添加】》点击【前置/后置处理器】》点击【JSR223 preprocessor】2.3 JSR请求or 前、后置处理器2.3.1 添加连接MongoDB自定义参数2.3.1 JSR请求1)不需要通过帐号&密码连接内容如下:

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)通过帐号密码连接内容如下:

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

 截图:  原因:1)写入格式不对2)写入数据不完整,有5个字段不能为空,但只写了2个。解决方法:1)  查询表中已有数据并输出到日志例如:

log.info("===test==="+ DB.table1.findOne([:]));

查询结果:2)  将查询的数据放入insert(注:要将id,写入时间,修改时间字段去掉)例如:

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时含字符串的字段值加上单引号(‘’)即可。

原文链接:https://www.jianshu.com/p/1566d3487880

本文为51Testing经授权转载,转载文章所包含的文字来源于作者。如因内容或版权等问题,请联系51Testing进行删除。

推荐阅读

点击阅读☞测试行业的点滴感悟……

点击阅读☞Jmeter接口测试之用例数据分离

点击阅读☞初学者如何编写Jmeter测试脚本?

点击阅读☞关于Jmeter长时间压测的可视化监控报告

点击阅读☞初学者如何编写Jmeter测试脚本?

爱我请给我好看!

mongodb 输出数组字段_JMeter之Groovy对MongoDB操作相关推荐

  1. mongodb 输出数组字段_三分钟 mongodb 开发快速上手

    三分钟 mongodb 开发快速上手 小熊昨天晚上做了一个非常真实的噩梦,有读者朋友催我"怎么又没有发文!让我们等的好辛苦",今天一睁开眼眼看后台留言,特么,居然是真的! 我bil ...

  2. mongodb 输出数组字段_MongoDb文档操作、索引操作

    学习主题:MongoDb 学习目标: 掌握mongodb文档的更新 掌握mongodb文档的删除 掌握mongodb文档的查找 掌握mongodb文档的条件操作符 掌握mongodb中的索引操作 Mo ...

  3. mongodb的id的唯一性_探讨MongoDB的_id字段含义,及对MongoDB数据库的重要性

    在MongoDB数据库中打开任何文档,您会注意到_id字段: 实际上,ObjectId / _id是每个MongoDB文档中唯一的字段.在今天的文章中,我们将探讨它的含义以及它对MongoDB数据库的 ...

  4. mongodb @aggregation 返回字段映射不上_Spring Boot 操作 MongoDB

    MongoDB 测试数据,导入 MongoDB https://gitee.com/shizidada/moose-resource/raw/master/shici_item.json Spring ...

  5. Laravel + MongoDB 数组字段相关查询

    我的个人博客:逐步前行STEP 1.$exist 查询 是否存在这个字段 //查询所有存在标签你字段的博客 App\Blog::where('tags','$exist',true)->get( ...

  6. Pgsql中数组字段当作查询条件和输出数组

    1.博客中关于 PostgreSql Array操作的操作符和函数 https://my.oschina.net/Kenyon/blog/133974 2.官方文档: https://www.post ...

  7. mongodb @aggregation 返回字段映射不上_MongoDB---基于分布式文件存储的数据库(二)...

    MongoDB基础入门到高级进阶视频教程 [MongoDB] 六.Document 操作 在MongoDB中文档是指多个键及其关联的值有序地放置在一起就是文档,其实指的就是数据,也是我们平时操作最多的 ...

  8. mongo go 查询指定字段_使用PyMongo查询MongoDB数据库!

    总览 我们将讨论如何使用PyMongo库查询MongoDB数据库. 我们将介绍MongoDB中的基本聚合操作. 介绍 随着互联网的全球普及,我们现在正在以前所未有的速度生成数据.因为执行任何类型的分析 ...

  9. mongodb 导出指定数据库文件大小_大数据技术之将mongodb 数据指定字段导出,然后指定字段导入mysql 实例 及相关问题解决...

    本篇文章探讨了大数据技术之将mongodb 数据指定字段导出,然后指定字段导入mysql 实例 及相关问题解决,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入. 需求:将mongo ...

最新文章

  1. 转:Flash 插件面板 DragonBonesDesignPanel 的绿色安装方法
  2. Ubuntu 下编译ffmpeg和x264解编码器(翻译的一篇文章:)
  3. 如何让hierarchyviewer调试查看商业版真机上的应用
  4. R数据可视化--ggplot2定位之坐标系详解
  5. Python知识点笔记-条件选择、循环和函数
  6. 多变量线性回归程序实现
  7. 探索比特币源码8-哈希2
  8. 注解@RequestParam【不添加默认项注解】与@RequestBody的使用场景
  9. Java并发AtomicIntegerArray类
  10. python pip 安装第三方库 mysql模块步骤--pip install mysql-connector-python
  11. 通讯简单测试—Modscan32使用简介-Susie 周
  12. 澳洲2022人口普查结果出炉--华人占比开始下降
  13. java gwt_gwt中java与js的相互调用 | 学步园
  14. Linux笔记(更新中)
  15. 基于Go语言Echo+Layui的OA办公系统
  16. JS判断当前页面是否在微信内打开
  17. 静电浪涌防护:TVS
  18. OpenJDK1.8 :java/lang/NoSuchMethodError‘: Method sun.misc.Unsafe.defineClass(Ljava/lang/String;[BII)
  19. 由于不能验证所收到的数据是否可信,无法显示您想要查看的页面。建议向此网站的管理员反馈这个问题。
  20. Movicon/Connext设备连接实例(一)——Movicon.NExT与Codesys通讯

热门文章

  1. pyqt5 实现右键自定义_《快速掌握PyQt5》第十七章 事件处理
  2. java如何调用网页_如何使用网页开发自己的app,在网页中的按钮与自己的java代码绑定来实现打电话即javascript代码调用java代码,和java代码来调用javascript代码...
  3. 【强烈推荐】《剑指Offer:名企面试官精讲典型编程题》一书中IT名企经典面试题
  4. C# winform C/S WebBrowser 微信第三方登录
  5. VS 2015 开发Android底部导航条----[实例代码,多图]
  6. ionic overflow:auto失效
  7. HDU 2612 Find a way
  8. asp中chr()函数及转义符对照表
  9. QQ vs 360的战争之我见
  10. 【转】java string类的方法及说明