需求:使用jemeter实现新增接口压力测试,因为接口参数存在着很多唯一约束,所以不能新增参数一样的数据,所以需要在参数或者消息体里面添加随机数据,实现压力测试的需求。
Jmeter生成随机参数的方式有很多,我这边整理了常用的参数,不唯一,分享给大家,帮大家避坑。
一.先生成随机数
1.使用函数助手对话框生成随机数
如图,打开下面的函数助手之后,选择ramdom函数之后,再选择范围(我这里选择的是1-1000),点击生成即可随机生成1-1000的随机整数(点击生成按钮之后软件会自动复制表达式到剪切板,直接使用即可)
${__Random(1,1000,)} 表示随机1-1000的随机整数
${__RandomDate(yyyy-MM-dd,,,,)} 表示随机生成yyyy-MM-dd格式的日期,还可以指定具体开始的时间等
对于id,可能随机数会导致重复,可以使用递增的计数器来实现。
然后你就可以获取一个递增的计数器,函数为 ${__counter(false,number)}
2.如果生成的随机数不能满足要求,还可以自定义参数。
二.使用步骤一生成的随机数
1.生成的随机数作为参数放到请求中(get请求)
2.生成的随机数作为body放到请求中(Post请求)
这里不管body是什么格式,json还是xml,text等任何格式都可以直接将上面生成的函数直接放入进去,实现自动随机生成参数。
3.param和body同时存在并且需要随机生成参数的情况
jmeter有个特性,如果你的消息体数据里面非空,那么你点击参数是没有反应的,不允许再添加参数,所以你可以把你的参数写入到请求地址中