最近項(xiàng)目中在做http協(xié)議的接口測(cè)試,其中接口請(qǐng)求報(bào)文數(shù)據(jù)有個(gè)字段值需要用到加密后的簽名,即出于網(wǎng)絡(luò)傳輸過(guò)程中,對(duì)數(shù)據(jù)安全的考慮,要對(duì)請(qǐng)求的數(shù)據(jù)進(jìn)行特定的處理(加密),再進(jìn)行請(qǐng)求。

剛開始由于項(xiàng)目趕進(jìn)度的需要,選擇的做法是:讓開發(fā)寫個(gè)加密處理生成請(qǐng)求報(bào)文的代碼,然后每次測(cè)試發(fā)送一次請(qǐng)求都用eclipse跑一遍該代碼,測(cè)試數(shù)據(jù)的修改也是在代碼中變更。這樣跑一輪測(cè)試下來(lái),測(cè)試同事都反映太累了。
jmeter中的BeanShell,可以用來(lái)調(diào)用我們的工具類對(duì)數(shù)據(jù)進(jìn)行處理,然后再進(jìn)行相關(guān)的請(qǐng)求。自己剛好以前工作中使用過(guò),于是就利用jmeter的beanshell來(lái)解決這個(gè)問(wèn)題。
解決過(guò)程:
1、獲取對(duì)應(yīng)接口加密的工具類,并生成jar包這個(gè)需要看測(cè)試人員是否具有代碼查看的權(quán)限,如果沒有權(quán)限,直接要求開發(fā)人員把該工具類的代碼發(fā)過(guò)來(lái)即可。
在eclipse中建個(gè)Java工程,把得到的工具類代碼導(dǎo)進(jìn)去。然后再導(dǎo)出成jar包。


將導(dǎo)出的jar包放到j(luò)meter的lib\ext目錄里。也可以不放進(jìn)該目錄,然后在jmeter的測(cè)試計(jì)劃直接引用即可。

在jmeter中創(chuàng)建一個(gè)項(xiàng)目,添加一個(gè)httprequest,在這個(gè)請(qǐng)求里添加一個(gè)BeanShell PreProcessor。

在http請(qǐng)求中根據(jù)實(shí)際情況填寫對(duì)應(yīng)的數(shù)據(jù):

在BeanShellPreProcessor中導(dǎo)入我們的jar包,BeanShell PreProcessor中的兩個(gè)方法是我們最常用到的:vars.get(String paramStr)、vars.put(Stringkey,String value),前一個(gè)是從jmeter中獲得變量值,后一個(gè)是將數(shù)據(jù)存到j(luò)meter變量中。

說(shuō)明:mac是需要簽名加密的字段,在BeanShell PreProcessor中主要是利用加密的工具類對(duì)報(bào)文進(jìn)行加密,得到加密后的mac值,然后在接口報(bào)文中調(diào)用mac即可。
4、執(zhí)行jmeter腳本通過(guò)上述步驟腳本即可解決接口報(bào)文需要進(jìn)行加密后才發(fā)送請(qǐng)求的測(cè)試處理。
未加密的請(qǐng)求結(jié)果:

利用beanshell加密后的請(qǐng)求結(jié)果:

至此,接口請(qǐng)求的加密處理已完成,不僅解決需通過(guò)代碼生成請(qǐng)求報(bào)文的繁瑣方法,還可以在此腳本的基礎(chǔ)上,實(shí)現(xiàn)數(shù)據(jù)驅(qū)動(dòng)的接口自動(dòng)化測(cè)試,測(cè)試小伙伴們就可以愉快的進(jìn)行測(cè)試了。
本文標(biāo)題:利用JMeter的beanshell進(jìn)行接口的加密處理-創(chuàng)新互聯(lián)
URL網(wǎng)址:http://chinadenli.net/article32/iicsc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、服務(wù)器托管、做網(wǎng)站、網(wǎng)站營(yíng)銷、App開發(fā)、云服務(wù)器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容