Jmeter接口測(cè)試-MD5加密-請(qǐng)求驗(yàn)簽(完整流程)

第一部分:環(huán)境搭建--Jmeter

1.在開(kāi)始進(jìn)行接口測(cè)試之前禽笑,先要確保你的Jmeter能夠正常運(yùn)行王凑,若你還沒(méi)有安裝Jmeter,可參考以下方法:

A.Jmeter需要java運(yùn)行環(huán)境,所以需要下載JDK,JDK下載地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html

(最好使用 JDK 8? 以上的版本蠢络,上述鏈接下可以下載最新的 JDK 版本)

B.安裝JDK,請(qǐng)參考百度教程:https://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html

(注意java環(huán)境變量一定要配置正確)

C.下載安裝Jmeter

Jmeter下載地址:http://jmeter.apache.org/download_jmeter.cgi

Jmeter安裝流程(參考百度教程):https://jingyan.baidu.com/article/acf728fd68e7bef8e510a3cb.html

(注意Jmeter5.0版本的需要要配置環(huán)境變量熬的,且要JDK 8 及以上才行)

D.引入MD5加密所需要的jar包点寥。該jar包的名字是:commons-codec-1.13.jar

Jmeter本身就有MD5加密的功能场钉,但是需要該jar包蚊俺,可以查看Jmeter安裝路徑下的lib文件夾在有沒(méi)有這個(gè)jar包:D:\Develop\JMeter\apache-jmeter-5.2.1\lib

如果沒(méi)有的話,網(wǎng)上下載一個(gè)放到lib文件夾下就OK了逛万。

E.永久漢化Jmeter泳猬。

找到Jmeter安裝路徑下的jmeter.properties:D:\Develop\JMeter\apache-jmeter-5.2.1\bin\jmeter.properties

用編輯器打開(kāi)(右鍵用記事本打開(kāi)也可以):找到? #language=en? ,在下面添加:language=zh_CN保存并重啟Jmeter

永久漢化Jmeter

第二部分:編寫MD5加密-請(qǐng)求驗(yàn)簽的腳本

Jmeter結(jié)構(gòu)

1.編寫該腳本需要新建的東西如下:

A.添加一個(gè)線程組:測(cè)試計(jì)劃(點(diǎn)擊 測(cè)試計(jì)劃 右鍵)——添加——線程(用戶)——線程組

添加線程組

B.線程組下添加一個(gè)?前置處理器BeanShell PreProcessor:線程組(點(diǎn)擊 線程組 右鍵)——添加——前置處理器——BeanShell PreProcessor

BeanShell PreProcessor 主要是用來(lái)完成加密字符串的拼接和MD5 加密

添加前置處理器

C.線程組下面添加一個(gè) HTTP信息頭管理器 :線程組(點(diǎn)擊 線程組 右鍵)——添加——配置元件——HTTP信息頭管理器宇植。

用于設(shè)置請(qǐng)求信息頭里面的參數(shù)暂殖。

添加HTTP信息頭管理器

D.線程組下添加一個(gè) HTTP請(qǐng)求:線程組(點(diǎn)擊 線程組 右鍵)——添加——取樣器——HTTP請(qǐng)求。

添加HTTP請(qǐng)求

E.最后添加 察看結(jié)果樹(shù) 和 聚合報(bào)告? :線程組(點(diǎn)擊 線程組 右鍵)——添加——監(jiān)聽(tīng)器——?察看結(jié)果樹(shù) / 聚合報(bào)告?

察看結(jié)果樹(shù):查看我們的請(qǐng)求是否訪問(wèn)成功当纱,已經(jīng)請(qǐng)求內(nèi)容和返回內(nèi)容是否正確

聚合報(bào)告:主要是用于統(tǒng)計(jì)總的請(qǐng)求數(shù)呛每,平均請(qǐng)求時(shí)間,響應(yīng)時(shí)長(zhǎng)坡氯,Err 數(shù)晨横,Err率等數(shù)據(jù)。

添加 察看結(jié)果樹(shù) 和 聚合報(bào)告

2.新建腳本的結(jié)構(gòu)成功后箫柳,開(kāi)始填充腳本的內(nèi)容手形,完成腳本MD5加密功能。

A.在前置處理器BeanShell PreProcessor添加如下內(nèi)容:

(Jmeter 5 自帶 org.apache.commons.codec.digest.jar悯恍,所以只需要導(dǎo)入就可以了字符串的順序拼接規(guī)則是:按照參數(shù)的首字母库糠,對(duì)參數(shù)進(jìn)行A-Z的順序進(jìn)行排序,并拼接涮毫,可以參見(jiàn)圖中參數(shù)的排序規(guī)則)

(字符相互之間連接類似:appVersion=V1.0.0&clientType=XXX&productId=XXX&source=XXX瞬欧,注:不同公司的拼接規(guī)則不同,需詢問(wèn)開(kāi)發(fā)具體的拼接規(guī)則)

// 導(dǎo)入MD5加密需要用到的jar包罢防。

import org.apache.commons.codec.digest.DigestUtils;

// 聲明你需要拼接的字符串

String requestTime = "${__time(,)}"; //生成時(shí)間戳

String appVersion ="XXX";

String clientType ="XXX";

String productId ="XXX";

String source ="XXX";

//拼接需要加密的字符串

String str = "appVersion="+appVersion+"&clientType="+clientType+"&productId="+productId +"&requestTime="+requestTime+"&source="+source+"istarkid2018";

// 加密已拼接的字符串

String sign = DigestUtils.md5Hex(str);

vars.put("signStr",sign.toString()); //把生成的signStr提供給beanshell外部組件引用

vars.put("requestTime",requestTime.toString()); //把生成的時(shí)間戳提供給beanshell外部組件引用

vars.put("appVersion",appVersion.toString()); //把生成的版本號(hào)提供給beanshell外部組件引用

vars.put("clientType",clientType.toString()); //把生成的clientType提供給beanshell外部組件引用

編寫腳本

代碼如下:

// 導(dǎo)入MD5加密需要用到的jar包艘虎。

import org.apache.commons.codec.digest.DigestUtils;

// 聲明你需要拼接的字符串

String httpUrl ="xxxxxxxx";

String customerCode ="xxxxxxxx";

String timestamp = "${__time(/1000,)}"; //生成時(shí)間戳

//拼接需要加密的字符串

String str = customerCode + timestamp + httpUrl;

// 加密已拼接的字符串

String sign = DigestUtils.md5Hex(str);

vars.put("signStr",sign.toString()); //把生成的signStr提供給beanshell外部組件引用

vars.put("timestamp",timestamp.toString()); //把生成的時(shí)間戳提供給beanshell外部組件引用

生成時(shí)間戳,方法較多咒吐,不同公司所用的時(shí)間戳生成方法不同野建,這點(diǎn)需要詢問(wèn)開(kāi)發(fā)具體的生成規(guī)則属划,以下提供幾種生成規(guī)則:

生成十三位時(shí)間戳:${__time(,)}

生成十位時(shí)間戳:${__time(/1000,)}

生成當(dāng)前日期,精確到天時(shí)間戳:${__time(yyyy-MM-dd,)}

生成當(dāng)前日期候生,精確到秒時(shí)間戳:${__time(YMDHMS,)}

生成時(shí)間戳函數(shù)

B.HTTP信息頭輸入接口驗(yàn)簽需要驗(yàn)證的所有參數(shù):例如:sign,requesttime等同眯。根據(jù)具體情況傳入

驗(yàn)簽需要驗(yàn)證的所有參數(shù)

C.在HTTP請(qǐng)求里面,添加:服務(wù)器IP唯鸭,請(qǐng)求方法嗽测,接口路徑,接口參數(shù)等值肿孵。

配置HTTP請(qǐng)求

第三部分:執(zhí)行腳本

1.點(diǎn)擊:菜單欄上的綠色按鈕執(zhí)行唠粥,第一次新建的測(cè)試計(jì)劃會(huì)提示你先保存,把已經(jīng)建好的測(cè)試計(jì)劃保存到任意位置就可以了

保存測(cè)試計(jì)劃

2.設(shè)置并發(fā)數(shù)量停做,進(jìn)行壓測(cè)晤愧;

設(shè)置并發(fā)數(shù)量

3.設(shè)置好后,點(diǎn)擊執(zhí)行蛉腌,進(jìn)行壓測(cè)官份,壓測(cè)完成后,可以在報(bào)告里面查看壓測(cè)結(jié)果烙丛。

查看結(jié)果樹(shù)

聚合報(bào)告結(jié)果

聚合報(bào)告

以上就是一個(gè)加了MD5和驗(yàn)簽的腳本的具體流程舅巷,若有錯(cuò)誤的地方,請(qǐng)大家多多指點(diǎn)~學(xué)習(xí)鏈接

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末河咽,一起剝皮案震驚了整個(gè)濱河市钠右,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌忘蟹,老刑警劉巖飒房,帶你破解...
    沈念sama閱讀 216,651評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異媚值,居然都是意外死亡狠毯,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門褥芒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)嚼松,“玉大人,你說(shuō)我怎么就攤上這事锰扶∠仔铮” “怎么了少辣?”我有些...
    開(kāi)封第一講書人閱讀 162,931評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵凌摄,是天一觀的道長(zhǎng)羡蛾。 經(jīng)常有香客問(wèn)我漓帅,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 58,218評(píng)論 1 292
  • 正文 為了忘掉前任忙干,我火速辦了婚禮器予,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘捐迫。我一直安慰自己乾翔,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,234評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布施戴。 她就那樣靜靜地躺著反浓,像睡著了一般。 火紅的嫁衣襯著肌膚如雪赞哗。 梳的紋絲不亂的頭發(fā)上雷则,一...
    開(kāi)封第一講書人閱讀 51,198評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音肪笋,去河邊找鬼月劈。 笑死,一個(gè)胖子當(dāng)著我的面吹牛藤乙,可吹牛的內(nèi)容都是我干的猜揪。 我是一名探鬼主播,決...
    沈念sama閱讀 40,084評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼坛梁,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼而姐!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起划咐,我...
    開(kāi)封第一講書人閱讀 38,926評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤毅人,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后尖殃,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體丈莺,經(jīng)...
    沈念sama閱讀 45,341評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,563評(píng)論 2 333
  • 正文 我和宋清朗相戀三年送丰,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了缔俄。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,731評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡器躏,死狀恐怖俐载,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情登失,我是刑警寧澤遏佣,帶...
    沈念sama閱讀 35,430評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站揽浙,受9級(jí)特大地震影響状婶,放射性物質(zhì)發(fā)生泄漏意敛。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,036評(píng)論 3 326
  • 文/蒙蒙 一膛虫、第九天 我趴在偏房一處隱蔽的房頂上張望草姻。 院中可真熱鬧,春花似錦稍刀、人聲如沸撩独。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,676評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)综膀。三九已至,卻和暖如春局齿,著一層夾襖步出監(jiān)牢的瞬間僧须,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,829評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工项炼, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留担平,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,743評(píng)論 2 368
  • 正文 我出身青樓锭部,卻偏偏與公主長(zhǎng)得像暂论,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子拌禾,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,629評(píng)論 2 354