利用JMeter的beanshell進行介面的加密處理
最近專案中在做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,在這個請求裡新增一個
在http請求中根據實際情況填寫對應的資料:
在BeanShellPreProcessor中匯入我們的jar包,BeanShell PreProcessor中的兩個方法是我們最常用到的:vars.get(String paramStr)、vars.put(Stringkey,String value),前一個是從jmeter中獲得變數值,後一個是將資料存到jmeter變數中。
說明:mac是需要簽名加密的欄位,在BeanShell PreProcessor中主要是利用加密的工具類對報文進行加密,得到加密後的
4、執行jmeter指令碼
通過上述步驟指令碼即可解決介面報文需要進行加密後才傳送請求的測試處理。
未加密的請求結果:
利用beanshell加密後的請求結果:
至此,介面請求的加密處理已完成,不僅解決需通過程式碼生成請求報文的繁瑣方法,還可以在此指令碼的基礎上,實現資料驅動的介面自動化測試,測試小夥伴們就可以愉快的進行測試了。
相關推薦
node 利用crypto進行hash加密和URLSafeBase64處理 (node.js郵箱驗證)
最近用node.js做註冊郵箱驗證時,用到urlBase64位字串: //實現思路: //1、資料庫表中新增一個啟用的狀態欄位0或1 (0為未啟用,1未啟用),在新增一個驗證碼欄位valida
利用RSACryptoServiceProvider進行RSA加密解密
rop color ria keyvalue ngs eat splay null crypto 利用RSACryptoServiceProvider進行RSA加密解密 加密獲取公私鑰 static void Main(string[] args)
Python對字符串進行MD5加密處理
python color hashlib rip Coding lib reload md5加密 進行 import hashlibimport sysreload(sys)sys.setdefaultencoding(‘utf-8‘)m = hashlib.md5()m.
javascript對URL中的引數進行簡單加密處理
javascript對URL中的引數進行簡單加密處理 javascript的api本來就支援Base64,因此我們可以很方便的來進行編碼和解碼。 var encodeData = window.btoa("name=xiaoming&age=10")//編碼 var decode
Python3利用HTTPTestRunner進行介面測試
匯入HTTPTestRunner後,對一些常用方法進行了封裝,之後只要呼叫即可。實現一條語句完成請求 約定:請求的json檔案放在本目錄的特定資料夾下 包含了各種請求條件下的重寫方法,基本滿足需求 import requests import unittest impo
利用openssl進行RSA加密解密
openssl是一個功能強大的工具包,它集成了眾多密碼演算法及實用工具。我們即可以利用它提供的命令臺工具生成金鑰、證書來加密解密檔案,也可以在利用其提供的API介面在程式碼中對傳輸資訊進行加密。 RSA是一個非對稱加密演算法。簡單說來,非對稱加密演算法就是說加密
利用Spring進行統一異常處理的兩種方式
package com.jay.platform.exception.handler; import java.io.IOException; import java.net.ConnectException; import java.net.SocketTimeoutException; import
利用Tensorflow進行自然語言處理(NLP)系列之二高階Word2Vec
一、概述 在上一篇中,我們介紹了Word2Vec即詞向量,對於Word Embeddings即詞嵌入有了些基礎,同時也闡述了Word2Vec演算法的兩個常見模型 :Skip-Gram模型和CBOW模型,本篇會對兩種演算法做出比較分析並給出其擴充套件模型-GloVe模型。
利用openssl進行RSA加密解密例項
轉載自:http://www.cnblogs.com/aLittleBitCool/archive/2011/09/22/2185418.html openssl是一個功能強大的工具包,它集成了眾多密碼演算法及實用工具。我們即可以利用它提供的命令臺工具生成金鑰、證書來加
利用JMeter的beanshell進行介面的加密處理
最近專案中在做http協議的介面測試,其中介面請求報文資料有個欄位值需要用到加密後的簽名,即出於網路傳輸過程中,對資料安全的考慮,要對請求的資料進行特定的處理(加密),再進行請求。 剛開始由於專案趕進度的需要,選擇的做法是:讓開發寫個加密處理生成請求報文的程
利用JMeter的beanshell進行接口的加密處理
ces 發送請求 href value 一次 ava 自動化測試 code 計劃 最近項目中在做http協議的接口測試,其中接口請求報文數據有個字段值需要用到加密後的簽名,即出於網絡傳輸過程中,對數據安全的考慮,要對請求的數據進行特定的處理(加密),再進行請求。
關於比特幣病毒利用445端口加密系統的處理辦法
microsoft windows 修改註冊表 系統有些端口是我們平時用不到但是又存在危險的端口,例如139、135、445等端口,windows默認是開著的,這時我們可以手動關閉這些端口!關閉445端口的方法!方法二1.請在控制面板>程序>啟用或關閉windows功能>取消勾選
Android — 長按ListView 利用上下文菜單(ActionMode) 進行批量事件處理
改變 out thread miss static server ann break 我們 好久沒寫博客拉``````` 近期最終略微閑一點了``````` 無聊拿手機清理短信。發現批量事件的處理還是挺管用的`````` 那麽自己也來山寨一記看看效果吧````
數字訊號處理專題(2)——利用FPGA進行基本運算及特殊函式定點運算
一、前言 FPGA以擅長高速並行資料處理而聞名,從有線/無線通訊到影象處理中各種DSP演算法,再到現今火爆的AI應用,都離不開卷積、濾波、變換等基本的數學運算。但由於FPGA的硬體結構和開發特性使得其對很多演算法不友好,之前本人零散地總結和轉載了些基本的數學運算在FPGA中的實現方式,今天做一個系統的總
Python OpenCV _3形態學處理(腐蝕膨脹,開閉運算,以及利用形態學進行邊緣角點檢測)
Python OpenCV這個初級影象處理系列是參考他人的文章寫的,有些地方做了一些改動,沒有太多理論,側重程式碼實現,主要目的是將這些基本操作程式碼系統地梳理一遍,也是為了以後能快速查詢。 此係列原始碼在我的GitHub裡:https://github.com/yeyujujishou19/P
利用Mockito進行mock方法時有無返回值的處理
當mock一個物件,且執行此物件中的方法有返回值時,使用下面的方法: 物件 = mock (類名.class); when (物件.方法 (引數)).thenReturn (方法的返回值); 當mock一個物件,且執行此物件中的方法沒有返回值時,使用下面的方法: 類名 物件 =
利用Python進行資料分析_Pandas_處理缺失資料
申明:本系列文章是自己在學習《利用Python進行資料分析》這本書的過程中,為了方便後期自己鞏固知識而整理。 1 讀取excel資料 import pandas as pd import numpy as np file = 'D:\example.xls' df = pd.DataFr
利用python Pandas進行資料預處理
目錄: 1.安裝pandas 2.pandas的引入 3.資料清洗 ①處理缺
JAVA利用HttpClient進行HTTPS介面呼叫
https 協議 在 http 基礎上做了一次演算法加密,但並不是完全安全的。我們可以通過躲避證書,繞過加密演算法來獲取資料。 一、jar 包版本準確定位:httpcore-4.2.4.jar 和 httpclient-4.2.5.jar 二、程式碼: 1.為了避免需要證書
利用unittest+ddt進行介面測試(一):簡單demo
原文地址 一般進行介面測試時,每個介面的傳參都不止一種情況,一般會考慮正向、逆向等多種組合。所以在測試一個介面時通常會編寫多條case,而這些case除了傳參不同外,其實並沒什麼區別。 這個時候就可以利用ddt來管理測試資料,提高程式碼複用率。 先看一個簡單的dem