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操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python随机数种子通俗_随机数种子r
- 下一篇: python 类属性排序_Python实