mongodb 输出数组字段_JMeter之Groovy对MongoDB操作
背景
使用Jmeter做接口測試時需要初始數(shù)據(jù),需要連接數(shù)據(jù)庫,然而我們的后端使用的是MongoDB。
操作步驟
2.1 導(dǎo)入將連接MongoDB 所涉及的jar包導(dǎo)入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自定義參數(shù)2.3.1 JSR請求1)不需要通過帳號&密碼連接內(nèi)容如下:importcom.mongodb.*
importcom.gmongo.GMongoClient
importcom.mongodb.MongoCredential
importcom.mongodb.ServerAddress
//創(chuàng)建mongoClient連接 無密碼
GMongoClientclient = new GMongoClient(new ServerAddress("${IP}",${Port}));
//連接指定的數(shù)據(jù)庫,使用已經(jīng)定義的參數(shù)
defDB=client.getDB("${AuthDB}");
//find()出來的是一個數(shù)組對象
DB.table1.find();
//出來的是查到的第一個對象
DB.table1.findOne([:]);
//插入數(shù)據(jù)
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]);
//刪除數(shù)據(jù)
DB.table1.remove({'Appid':'E8CUJW99'});
2)通過帳號密碼連接內(nèi)容如下:importcom.mongodb.*
importcom.gmongo.GMongoClient
importcom.mongodb.MongoCredential
importcom.mongodb.ServerAddress
//創(chuàng)建mongoClient連接 有密碼
credentials =MongoCredential.createCrdential('${userName}','${pwd}','${AuthDB}' as char[])
GMongoClientclient = new GMongoClient(new ServerAddress("${IP}",${Port}),[credentials])
log.info("test============================");
//連接指定的數(shù)據(jù)庫,使用已經(jīng)定義的參數(shù)
defDB=client.getDB("${AuthDB}");
//find()出來的是一個數(shù)組對象
DB.table1.find();
//出來的是查到的第一個對象
DB.table1.findOne([:]);
//插入數(shù)據(jù)
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]);
//刪除數(shù)據(jù)
DB.table1.remove({'Appid':'E8CUJW99'});
踩過的坑
3.1 寫入mongoDB報javax.script.ScriptException:?javax.script.ScriptException: groovy.lang.MissingMethodException:?
No signature of
截圖: 原因:1)寫入格式不對2)寫入數(shù)據(jù)不完整,有5個字段不能為空,但只寫了2個。解決方法:1)? 查詢表中已有數(shù)據(jù)并輸出到日志例如:log.info("===test==="+ DB.table1.findOne([:]));
查詢結(jié)果:2)? 將查詢的數(shù)據(jù)放入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經(jīng)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載文章所包含的文字來源于作者。如因內(nèi)容或版權(quán)等問題,請聯(lián)系51Testing進行刪除。
推薦閱讀點擊閱讀?測試行業(yè)的點滴感悟……
點擊閱讀?Jmeter接口測試之用例數(shù)據(jù)分離
點擊閱讀?初學者如何編寫Jmeter測試腳本?
點擊閱讀?關(guān)于Jmeter長時間壓測的可視化監(jiān)控報告
點擊閱讀?初學者如何編寫Jmeter測試腳本?
戳愛我請給我好看!總結(jié)
以上是生活随笔為你收集整理的mongodb 输出数组字段_JMeter之Groovy对MongoDB操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python随机数种子通俗_随机数种子r
- 下一篇: 雪花算法原理_低照度摄像机原理及影响图像