接口測(cè)試--參數(shù)實(shí)現(xiàn)MD5加密簽名規(guī)則
最近有個(gè)測(cè)試接口需求,接口有簽名檢查,簽名規(guī)范為將所有請(qǐng)求參數(shù)按照key字典排序并連接起來(lái)進(jìn)行md5加密,格式是:md5(bar=2&baz=3&foo=1),得到簽名,將簽名追加到參數(shù)末尾。由于需要對(duì)參數(shù)進(jìn)行動(dòng)態(tài)加密并且做壓力測(cè)試,所以選擇了使用jmeter, 利用BeanShell PreProcessor處理參數(shù)加密問(wèn)題。(postman也可實(shí)現(xiàn)md5加密簽名規(guī)則。添加環(huán)境變量,然后在Pre-request-Script中寫MD5加密簽名規(guī)則的腳本。文末會(huì)簡(jiǎn)單介紹一下)。具體步驟如下哦~~
1.由于簽名需要將請(qǐng)求參數(shù)進(jìn)行md5,所以先用Java寫好代碼,然后把該類打成Jar包(在類上點(diǎn)擊右鍵->Export->jar file),代碼如下:

2.把jar包放在jmeter下D:\jmeter\apache-jmeter-3.3\lib下
3.打開(kāi)jmeter,添加一個(gè)http sampler(調(diào)用登錄接口),在sampler下添加一個(gè)BeanShell PreProcessor
4.在beanshell PreProcessor中導(dǎo)入jar包,調(diào)用加密方法,beanshell PreProcessor最常用的方法:
vars.get(String paramStr):獲得變量值
vars.put(String key,String value):數(shù)據(jù)存到j(luò)meter變量中

Postman參數(shù)實(shí)現(xiàn)md5加密
1.設(shè)置環(huán)境變量
2.請(qǐng)求參數(shù)設(shè)置中引用sign值

3.Pre-request-Script中寫MD5加密簽名規(guī)則的腳本

注意:
1.Postman實(shí)現(xiàn)接口加密對(duì)版本有要求,版本過(guò)低可能會(huì)報(bào)錯(cuò)
2. Post請(qǐng)求可直接通過(guò)request.data獲取請(qǐng)求參數(shù),get請(qǐng)求可先通過(guò) request.url獲取請(qǐng)求url,然后對(duì)url進(jìn)行處理,獲取請(qǐng)求參數(shù)
3.Pre-request Script的日志可通過(guò)view-> Show Postman Console查看
至此,關(guān)于需要對(duì)請(qǐng)求參數(shù)進(jìn)行動(dòng)態(tài)加密的接口測(cè)試就可以正常進(jìn)行了,如果需要壓測(cè)也可以直接使用jmeter進(jìn)行壓測(cè)。

