mongodb 输出数组字段_JMeter之Groovy对MongoDB操作
背景
使用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操作相关推荐
- mongodb 输出数组字段_三分钟 mongodb 开发快速上手
三分钟 mongodb 开发快速上手 小熊昨天晚上做了一个非常真实的噩梦,有读者朋友催我"怎么又没有发文!让我们等的好辛苦",今天一睁开眼眼看后台留言,特么,居然是真的! 我bil ...
- mongodb 输出数组字段_MongoDb文档操作、索引操作
学习主题:MongoDb 学习目标: 掌握mongodb文档的更新 掌握mongodb文档的删除 掌握mongodb文档的查找 掌握mongodb文档的条件操作符 掌握mongodb中的索引操作 Mo ...
- mongodb的id的唯一性_探讨MongoDB的_id字段含义,及对MongoDB数据库的重要性
在MongoDB数据库中打开任何文档,您会注意到_id字段: 实际上,ObjectId / _id是每个MongoDB文档中唯一的字段.在今天的文章中,我们将探讨它的含义以及它对MongoDB数据库的 ...
- mongodb @aggregation 返回字段映射不上_Spring Boot 操作 MongoDB
MongoDB 测试数据,导入 MongoDB https://gitee.com/shizidada/moose-resource/raw/master/shici_item.json Spring ...
- Laravel + MongoDB 数组字段相关查询
我的个人博客:逐步前行STEP 1.$exist 查询 是否存在这个字段 //查询所有存在标签你字段的博客 App\Blog::where('tags','$exist',true)->get( ...
- Pgsql中数组字段当作查询条件和输出数组
1.博客中关于 PostgreSql Array操作的操作符和函数 https://my.oschina.net/Kenyon/blog/133974 2.官方文档: https://www.post ...
- mongodb @aggregation 返回字段映射不上_MongoDB---基于分布式文件存储的数据库(二)...
MongoDB基础入门到高级进阶视频教程 [MongoDB] 六.Document 操作 在MongoDB中文档是指多个键及其关联的值有序地放置在一起就是文档,其实指的就是数据,也是我们平时操作最多的 ...
- mongo go 查询指定字段_使用PyMongo查询MongoDB数据库!
总览 我们将讨论如何使用PyMongo库查询MongoDB数据库. 我们将介绍MongoDB中的基本聚合操作. 介绍 随着互联网的全球普及,我们现在正在以前所未有的速度生成数据.因为执行任何类型的分析 ...
- mongodb 导出指定数据库文件大小_大数据技术之将mongodb 数据指定字段导出,然后指定字段导入mysql 实例 及相关问题解决...
本篇文章探讨了大数据技术之将mongodb 数据指定字段导出,然后指定字段导入mysql 实例 及相关问题解决,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入. 需求:将mongo ...
最新文章
- 转:Flash 插件面板 DragonBonesDesignPanel 的绿色安装方法
- Ubuntu 下编译ffmpeg和x264解编码器(翻译的一篇文章:)
- 如何让hierarchyviewer调试查看商业版真机上的应用
- R数据可视化--ggplot2定位之坐标系详解
- Python知识点笔记-条件选择、循环和函数
- 多变量线性回归程序实现
- 探索比特币源码8-哈希2
- 注解@RequestParam【不添加默认项注解】与@RequestBody的使用场景
- Java并发AtomicIntegerArray类
- python pip 安装第三方库 mysql模块步骤--pip install mysql-connector-python
- 通讯简单测试—Modscan32使用简介-Susie 周
- 澳洲2022人口普查结果出炉--华人占比开始下降
- java gwt_gwt中java与js的相互调用 | 学步园
- Linux笔记(更新中)
- 基于Go语言Echo+Layui的OA办公系统
- JS判断当前页面是否在微信内打开
- 静电浪涌防护:TVS
- OpenJDK1.8 :java/lang/NoSuchMethodError‘: Method sun.misc.Unsafe.defineClass(Ljava/lang/String;[BII)
- 由于不能验证所收到的数据是否可信,无法显示您想要查看的页面。建议向此网站的管理员反馈这个问题。
- Movicon/Connext设备连接实例(一)——Movicon.NExT与Codesys通讯
热门文章
- pyqt5 实现右键自定义_《快速掌握PyQt5》第十七章 事件处理
- java如何调用网页_如何使用网页开发自己的app,在网页中的按钮与自己的java代码绑定来实现打电话即javascript代码调用java代码,和java代码来调用javascript代码...
- 【强烈推荐】《剑指Offer:名企面试官精讲典型编程题》一书中IT名企经典面试题
- C# winform C/S WebBrowser 微信第三方登录
- VS 2015 开发Android底部导航条----[实例代码,多图]
- ionic overflow:auto失效
- HDU 2612 Find a way
- asp中chr()函数及转义符对照表
- QQ vs 360的战争之我见
- 【转】java string类的方法及说明