jmeter用python实现请求参数的随机
首先需要下载插件来让jmeter支持python脚本
下载地址:https://www.jython.org/download
下载完成后放到jmeter安装目录的lib文件夹下

放置完成后需要重启jmeter
添加jsr223 preprocessor,language下拉框中多2项

选择第一项
添加python脚本
脚本中metrics_ids3和metrics_weidu3的值为列表
import json
import random
# 原始的metrics id和维度列表
m***s_ids = ${metrics_ids3}
m***s_weidus=${metrics_weidu3}
# 生成随机组合的函数
def generate_random_combination(ids):
return random.sample(ids, random.randint(1, len(ids)))
# 生成随机组合指标和维度
chosen_m***s_ids = generate_random_combination(m***s_ids)
chosen_m***s_weidus = generate_random_combination(m***s_weidus)
# 将chosen_metrics_ids赋值给randommet***s
randommet***ids = chosen_met***s_ids
randomweidus= chosen_met***s_weidus
# 打印到jmeter日志中(可选)
#log_message = "random met***s ids: " + str(randommet***ids) +" random weidus:"+str(randomweidus)
## 使用print语句在jmeter日志中输出
#print(log_message)
# 构造整个请求体
body = {
"chosenm***sids": chosen_met***s_ids,
"chosend***ids":[] ,
"timep***tion": {
"stattime": "m***",
"begintime": "202*-02",
"endtime": "202*-01"
},
"printsql": false,
"pagenum": -1
}
# 将整个body转换为json格式的字符串
body_json = json.dumps(body)
# 将body_json设置为jmeter变量
vars.put("requestbodyjson", body_json)在http请求中添加
body${requestbodyjson}
添加view results tree,运行脚本,查看结果
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论