溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

利用JMeter的beanshell進(jìn)行接口的加密處理

發(fā)布時(shí)間:2020-07-13 18:17:12 來源:網(wǎng)絡(luò) 閱讀:4197 作者:路人分享 欄目:軟件技術(shù)

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

     剛開始由于項(xiàng)目趕進(jìn)度的需要,選擇的做法是:讓開發(fā)寫個(gè)加密處理生成請(qǐng)求報(bào)文的代碼,然后每次測試發(fā)送一次請(qǐng)求都用eclipse跑一遍該代碼,測試數(shù)據(jù)的修改也是在代碼中變更。這樣跑一輪測試下來,測試同事都反映太累了。

     jmeter中的BeanShell,可以用來調(diào)用我們的工具類對(duì)數(shù)據(jù)進(jìn)行處理,然后再進(jìn)行相關(guān)的請(qǐng)求。自己剛好以前工作中使用過,于是就利用jmeterbeanshell來解決這個(gè)問題。

 

解決過程:

1、獲取對(duì)應(yīng)接口加密的工具類,并生成jar

    這個(gè)需要看測試人員是否具有代碼查看的權(quán)限,如果沒有權(quán)限,直接要求開發(fā)人員把該工具類的代碼發(fā)過來即可。

    eclipse中建個(gè)Java工程,把得到的工具類代碼導(dǎo)進(jìn)去。然后再導(dǎo)出成jar包。

利用JMeter的beanshell進(jìn)行接口的加密處理

 

利用JMeter的beanshell進(jìn)行接口的加密處理

 

 

2、把jar包放到${jmeter_home}\lib\ext

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

利用JMeter的beanshell進(jìn)行接口的加密處理

 

 

3、創(chuàng)建jmeter腳本

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

利用JMeter的beanshell進(jìn)行接口的加密處理

 

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

利用JMeter的beanshell進(jìn)行接口的加密處理

 

 

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

利用JMeter的beanshell進(jìn)行接口的加密處理

說明:mac是需要簽名加密的字段,在BeanShell PreProcessor中主要是利用加密的工具類對(duì)報(bào)文進(jìn)行加密,得到加密后的mac值,然后在接口報(bào)文中調(diào)用mac即可。

 

 

4、執(zhí)行jmeter腳本

     通過上述步驟腳本即可解決接口報(bào)文需要進(jìn)行加密后才發(fā)送請(qǐng)求的測試處理。

 

未加密的請(qǐng)求結(jié)果:


 利用JMeter的beanshell進(jìn)行接口的加密處理

 

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


 利用JMeter的beanshell進(jìn)行接口的加密處理

 

     

    至此,接口請(qǐng)求的加密處理已完成,不僅解決需通過代碼生成請(qǐng)求報(bào)文的繁瑣方法,還可以在此腳本的基礎(chǔ)上,實(shí)現(xiàn)數(shù)據(jù)驅(qū)動(dòng)的接口自動(dòng)化測試,測試小伙伴們就可以愉快的進(jìn)行測試了。


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI