最近項目中在做http協議的接口測試,其中接口請求報文數據有個字段值需要用到加密后的簽名,即出于網絡傳輸過程中,對數據安全的考慮,要對請求的數據進行特定的處理(加密),再進行請求。
創新互聯自成立以來,一直致力于為企業提供從網站策劃、網站設計、網站建設、成都做網站、電子商務、網站推廣、網站優化到為企業提供個性化軟件開發等基于互聯網的全面整合營銷服務。公司擁有豐富的網站建設和互聯網應用系統開發管理經驗、成熟的應用系統解決方案、優秀的網站開發工程師團隊及專業的網站設計師團隊。剛開始由于項目趕進度的需要,選擇的做法是:讓開發寫個加密處理生成請求報文的代碼,然后每次測試發送一次請求都用eclipse跑一遍該代碼,測試數據的修改也是在代碼中變更。這樣跑一輪測試下來,測試同事都反映太累了。
jmeter中的BeanShell,可以用來調用我們的工具類對數據進行處理,然后再進行相關的請求。自己剛好以前工作中使用過,于是就利用jmeter的beanshell來解決這個問題。
解決過程:
1、獲取對應接口加密的工具類,并生成jar包這個需要看測試人員是否具有代碼查看的權限,如果沒有權限,直接要求開發人員把該工具類的代碼發過來即可。
在eclipse中建個Java工程,把得到的工具類代碼導進去。然后再導出成jar包。
2、把jar包放到${jmeter_home}\lib\ext下將導出的jar包放到jmeter的lib\ext目錄里。也可以不放進該目錄,然后在jmeter的測試計劃直接引用即可。
3、創建jmeter腳本在jmeter中創建一個項目,添加一個httprequest,在這個請求里添加一個BeanShell PreProcessor。
在http請求中根據實際情況填寫對應的數據:
在BeanShellPreProcessor中導入我們的jar包,BeanShell PreProcessor中的兩個方法是我們最常用到的:vars.get(String paramStr)、vars.put(Stringkey,String value),前一個是從jmeter中獲得變量值,后一個是將數據存到jmeter變量中。
說明:mac是需要簽名加密的字段,在BeanShell PreProcessor中主要是利用加密的工具類對報文進行加密,得到加密后的mac值,然后在接口報文中調用mac即可。
4、執行jmeter腳本通過上述步驟腳本即可解決接口報文需要進行加密后才發送請求的測試處理。
未加密的請求結果:
利用beanshell加密后的請求結果:
至此,接口請求的加密處理已完成,不僅解決需通過代碼生成請求報文的繁瑣方法,還可以在此腳本的基礎上,實現數據驅動的接口自動化測試,測試小伙伴們就可以愉快的進行測試了。
本文標題:利用JMeter的beanshell進行接口的加密處理-創新互聯
URL網址:http://vcdvsql.cn/article32/iicsc.html
成都網站建設公司_創新互聯,為您提供用戶體驗、服務器托管、做網站、網站營銷、App開發、云服務器
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯