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,运行脚本,查看结果

相关推荐
se-tester9 天前
JMeter、Postman 和 SoapUI 在做接口测试上的优势和缺点
测试工具·jmeter·接口测试·postman·soapui
feathered-feathered10 天前
测试实战【用例设计】自己写的项目+功能测试(1)
java·服务器·后端·功能测试·jmeter·单元测试·压力测试
质量保障小乔14 天前
JMeter+Jenkins+AI自动化测试
jmeter
装不满的克莱因瓶16 天前
Java高并发异步请求实战,Jmeter暴力压测下的解决方案
jmeter·线程池·多线程·并发·resttemplate·qps·压测
在坚持一下我可没意见22 天前
ideaPool论坛系统测试报告
java·spring boot·功能测试·selenium·jmeter·mybatis·压力测试
linweidong24 天前
别让老板等:千人并发下的实时大屏极致性能优化实录
jmeter·clickhouse·性能优化·sentinel·doris·物化视图·离线数仓
CesareCheung25 天前
JMeter核心组件使用方法及场景大全
jmeter
我会一直在的1 个月前
Jmeter的基础使用
功能测试·jmeter·压力测试
choke2331 个月前
软件性能测试实战:从基础概念到 JMeter 全组件使用
jmeter
网络安全-杰克1 个月前
Jmeter压力测试工具安装与使用
自动化测试·软件测试·测试工具·jmeter·职场和发展