日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

mongodb 输出数组字段_JMeter之Groovy对MongoDB操作

發(fā)布時間:2024/4/19 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mongodb 输出数组字段_JMeter之Groovy对MongoDB操作 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

背景

  使用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)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。