在日常接口测试、压力测试时,我们需要生成大量的随机变量。例如:姓名、手机号、随机字符串等。这时候使用Jmeter内置的一些方法的随机生成变量,便成了解决问题的一种方式。
${__RandomString(1,赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨朱秦尤许何吕施张孔曹严华金魏陶姜戚谢邹喻柏水窦章云苏潘葛奚范彭郎鲁韦昌马苗凤花方俞任袁柳酆鲍史唐费廉岑薛雷贺倪汤,)}${__RandomString(${__RandomString(1,12,)},文林欣德和泽子墨鸿哲兴贤良翰池景澄乐成俊晖嘉誉睿诚康安鹏程浩漫永年豪杰正梧浩晔光康天豪东瑜豪祥利综皓枫祥晴豪冰晨泽茹铭雪宪豪天晨冰悦祥孝天晓钟校杰椒冰铭涵魁嘉志棕皓瑞亭浩鸣子南鉴清浩航梓舒凌安云孜瑞迅雨星振链懿浩灏宇旭扬濮铭礼程铭心明寿程磊宁含亦民胜晨鸿树忆旭雨广铭海章毓秋恒宇学晨成博锌军宸慕富俊杰和志景浩安国奇希翰藻正豪承安雨华永寿彭湃志奇玮飞舟凯泽晟睿永嘉兴学专理群巍昂阳云正真永康伟毅吉星正文英卓星雨嘉勋博延鹏天宇康适鹏池运杰俊名俊健锐智光亮嘉树良奥德馨嘉志玉书经略飞航嘉荣光翰骞泽和风俊哲高懿文翰嘉赐曾琪乐池高轩宇寰文斌璞玉承基兴平烨然泽语建义子实元化明诚彬建中涵畅星,)}
${__RandomString(28,0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ)}
复制代码到jmeter中,并进行赋值。这里需要注意,括号里(28)控制的是字符串的长度,可以按需修改。
PS:这里我精简了代码参数,因为我的接口需要,可根据自己需求进行修改
查看执行效果,随机生成28位包含大小写英文字母、数字的字符串。
//定义手机号前3位
String[] FirstThreeNumber = {"134","135","136","137","138","139","147","150","152","157","158","159","172","178","182","183","184","187","188","198","130","131","132","145","155","156","166","171","175","176","185","186","166","133","149","153","173","177","180","181","189","199"};
//随机获取前三位手机号的index
int n= (int)(Math.random() * FirstThreeNumber.length);
//获取手机前三位
String yy = FirstThreeNumber[n];
//循环获取手机号后8位
for(int i = 0; i < 8; i++){
int x = (int)(Math.random() * 9);
yy = yy + x;
};
vars.put("phone", yy);
log.error(vars.get("phone"));
生成手机号码,需要编写java代码,需要另一种执行方式。此处使用jmeter的另一个插件:BeanShell
添加图片注释,不超过 140 字(可选)
查看执行效果,随机生成11位的手机号码。
String timestamp = String.valueOf(System.currentTimeMillis());
vars.put("流水号", timestamp);
这样,每次执行请求时,JMeter 将使用当前时间生成一个唯一的时间戳,并将其存储在名为“流水号”的变量中。在请求中使用 ${流水号} 变量,即可保证每次请求的流水号都不会重复。
—The End—
后续有好方法还会继续更新,欢迎大家一起交流互助。
如果对你有帮助请关注哦!