最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【實戰(zhàn)】Jmeter連接mongoDB數(shù)據(jù)庫

2023-09-07 21:05 作者:華測教育  | 我要投稿


作為一名測試人員,做接口測試難免要進行基礎(chǔ)數(shù)據(jù)校驗。Jmeter本身對mysql支持的非常好,但是對mongoDB、cassandra等數(shù)據(jù)庫要怎么連接并校驗數(shù)據(jù)呢?本文以mongodb為例進行說明。

一、如果你有Java基礎(chǔ),可以編寫java代碼訪問mongo

首先,下載mongo-java-driver-2.13.2.jar,或者更高版本。將驅(qū)動包放在 lib目錄下或者lib\ext目錄下即可。

其次,右鍵測試計劃,定義一些用戶參數(shù)。

這里主要是定義mongodb的基本信息,大家可以根據(jù)實際情況填寫。

然后,就是我們的重點部分:添加JSR223Sampler,編寫Java腳本。

代碼如下:

importcom.mongodb.*

importcom.gmongo.GMongoClient

importcom.mongodb.MongoCredential

importcom.mongodb.ServerAddress

importjava.text.DateFormat

importjava.text.SimpleDateFormat

?

MongoCredentialcredentials = MongoCredential.createCredential('${mongoname}','${mongoauth}' ,'${mongopwd}'as char[])

GMongoClientclient = new GMongoClient(newServerAddress('${mongoip}',${mongoport}),[credentials])

//連接數(shù)據(jù)庫

defdb=client.getDB("${dbname}")

?

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd00:00:00")

?


def coll=db.getCollection('表名').aggregate([[$match:[type:"1",areaType:"1",areaCode:"****",statisticsDate:"20190825",faultType:"0",faultCode:"0",machineModel:"2"]],

[ $group :["_id" :'$areaName', "onlineNO" : [$sum : '$onlineNo'],"faultNo":[$sum : '$faultNo']]]])

def RpData=""

coll.results().each

{

? ? RpData =RpData+it.toString()+"\r\n"

}

?

SampleResult.setResponseData(RpData)

運行結(jié)果如下:

二、如果測試人員java基礎(chǔ)不好,或者只會用python編寫腳本怎么辦呢?

我們可以使用jmeter的OS Process Sampler完成這個任務(wù)。

首先,添加OS ProcessSampler,并配置好參數(shù)。

其次,編寫python腳本(腳本名稱和路徑要和上圖配置的一致),在腳本中實現(xiàn)連接數(shù)據(jù)庫的功能。

腳本如下:

#coding=utf-8

from pymongoimport MongoClient

from sys importargv

from datetimeimport datetime


#建立MongoDB數(shù)據(jù)庫連接

client =MongoClient("mongodb://用戶名:密碼@ip:port")

time=argv[1]

#time='20190313'

year=int(time[:4])

if time[4]==0:

? ? mon=int(time[5])

else:? ?

? ? mon=int(time[4:6])

day=int(time[6:])

#連接所用集合,也就是我們通常所說的表,test為表名

?

result = db.test.find_one({"WorkTime":{"$gt":0},'ReportTime':datetime(year,mon, day, 16, 0)},{ "LoginID":1,"WorkTimeLine": 1})

print (result)

response中就會打印出loginid和worktimeline的值。

再利用正則提取器取出想要的數(shù)據(jù),進行數(shù)據(jù)校驗即可。

P.S.

第一種方法網(wǎng)上的教程不少,也是比較方便的方法,如果測試人員有一定的Java基礎(chǔ),還是推薦用這種方法。

第二種方法是針對Java編程有困難的測試人員,利用python腳本也可以實現(xiàn)數(shù)據(jù)校驗的任務(wù),但是在實際的測試中可能會出現(xiàn)編碼等問題(比如打印字符串格式的數(shù)據(jù)時,結(jié)果中有字母“u”),導致正則表達式取不出想要的數(shù)據(jù),這就需要根據(jù)實際情況調(diào)整正則表達式的寫法,這個需要大家注意一下。

最后:這些資料,對于【軟件測試】的朋友來說應(yīng)該是最全面最完整的備戰(zhàn)倉庫,這個倉庫也陪伴上萬個測試工程師們走過最艱難的路程,希望也能幫助到你!

包括,測試人技術(shù)進階路徑圖,50多天的視頻教程、16個項目實例,30多個測試工具,37份測試文檔,70個軟件測試相關(guān)問題,40篇測試經(jīng)驗級文章分享,還有軟件測試面試小程序,求職簡歷的優(yōu)化模板。

加油吧,如果你需要提升技術(shù)儲備,那就行動,在路上總比在起點觀望的要好。一切的迷茫都是因為想得太多而做的太少!

你可以在公眾號:傷心的辣條?! 自行領(lǐng)取一份216頁軟件測試工程師面試寶典文檔資料【免費的】。以及相對應(yīng)的視頻學習教程免費分享!,其中包括了有基礎(chǔ)知識、Linux必備、Shell、互聯(lián)網(wǎng)程序原理、Mysql數(shù)據(jù)庫、抓包工具專題、接口測試工具、測試進階-Python編程、Web自動化測試、APP自動化測試、接口自動化測試、測試高級持續(xù)集成、測試架構(gòu)開發(fā)測試框架、性能測試、安全測試等。

現(xiàn)在我邀請你進入我們的軟件測試學習交流群:【746506216】,備注“入群”, 大家可以一起探討交流軟件測試,共同學習軟件測試技術(shù)、面試等軟件測試方方面面,還會有免費直播課,收獲更多測試技巧,我們一起進階Python自動化測試/測試開發(fā),走向高薪之路。

【實戰(zhàn)】Jmeter連接mongoDB數(shù)據(jù)庫的評論 (共 條)

分享到微博請遵守國家法律
兴隆县| 如东县| 平武县| 昌邑市| 宝清县| 工布江达县| 大宁县| 新绛县| 岳阳县| 澄江县| 邯郸市| 图片| 林西县| 龙山县| 桂平市| 扎囊县| 象山县| 大兴区| 惠东县| 建阳市| 行唐县| 宜都市| 闽清县| 肃南| 西平县| 邹城市| 曲阜市| 察哈| 柯坪县| 大同县| 台北市| 枞阳县| 林西县| 中超| 揭东县| 肥西县| 邛崃市| 肃南| 建始县| 稷山县| 灌南县|