Jmeter工具使用--调用python脚本加密
2021-01-24 本文已影响0人
orange_ade
接口性能测试时,接口请求参数是根据一定的规则拼接后进行MD5加密后再进行传参,因此借助于python脚本实现,则可以有效提升测试效率。
一、python加密脚本
import hashlib
import random
import time
import sys
def test(UserID):
ts = str(time.time())[:-7]
NonceStr = str(ts) + str(random.randint(1, 1000))
data = "UserID=" + UserID + "&" + "NonceStr=" + NonceStr + "&NJKHII@$%"
Sign = hashlib.md5(data.encode(encoding='UTF-8')).hexdigest()
res = {'Sign': Sign, 'NonceStr': NonceStr}
print(res)
return res
test("vivid")
-
代码解析:
ts:获取时间戳,从时间戳最右边往左去掉7位数
NonceStr:拼接时间戳+1到1000的随机数值
data:拼接形参+上面的NonceStr+给出的几个字符串
Sign:调用加密函数将上面组合的data进行最后的加密
res:返回加密后的Sign+NonceStr值
test(‘vivid'):调用test方法,传入实参:'vivid' -
运行成功后:
{'Sign': 'e977872fd043fe737779e3dfab90a104', 'NonceStr': '1611568332.403'}
二、打开jmeter添加组件:OS Process Sampler
![](https://img.haomeiwen.com/i17038053/d2ed858a04738a3e.png)
-
添加正则表达式,提取python脚本生成的两个参数,提供给接口使用。
20210121175439387.png
-
接口请求中设置参数化,读取python脚本中自动生成的参数(接口中多个参数已进行CSV文件参数化)
20210121180426868.png
-
运行jmeter脚本并查看结果。
20210121180317801.png