最近艾兜兜儿正在用JMeter做同设备注册跑接口,需要验证IP有效性,手动编辑 IP 效率太慢,便想着用参数自动生成随机 IP,本文将用两种方法生成随机IP,大纲如下:
- 方法1:使用JMeter内置 UUID 函数助手
- 方法2:使用 JSR223 Sampler 和 JavaScript 代码
图文详情见下文:
一、方法1:
使用JMeter内置 UUID 函数助手
操作路径:
1. 打开JMeter,单击“测试计划→线程组→添加取样器”→选择 “调试取样器”(或其他任意取样器,仅用来生成IP);
2. 点击“调试取样器”上,按快捷键 Ctrl + Shift + F1右键点击并选择 "函数助手对话框";
3. 在函数助手对话框中,选择 "IP 地址" 函数;
4. 在 "IP 地址" 函数对话框中,你可以设置 IP 地址的范围(例如,起始 IP 和结束 IP);
5. 完成设置后,点击 "确定",函数助手会生成一个随机的 IP 地址;
如:
${__Random(10,200,)}.${__Random(2,255,)}.${__Random(2,255,)}.${__Random(1,255,)}
6. 将生成的随机 IP 地址复制到需要使用该 IP 地址的地方,例如 HTTP 请求的 "服务器名称或 IP" 字段。
划重点:
随机IP参数
${__Random(10,200,)}.${__Random(2,255,)}.${__Random(2,255,)}.${__Random(1,255,)}
二、方法2:
使用 JSR223 Sampler 和 JavaScript 代码
第二种方法是用 JSR223 Sampler 写脚本,操作路径:
1. 线程组右键,add,选择“JSR223 Sampler”
在脚本框写:
function getRandomIP() {
var minOctet = 0;
var maxOctet = 255;
var ipParts = [];
for (var i = 0; i < 4; i++) {
ipParts.push(Math.floor(Math.random() * (maxOctet - minOctet + 1)) + minOctet);
}
return ipParts.join('.');
}
var randomIP = getRandomIP();
vars.put("randomIP", randomIP);
如图:
注意:其他接口位置引用随机IP参数,格式:${randomIP}
查询结果树:
按以上两种方法可以获取动态IP,你学会了吗?(完)
注:
我是艾兜兜儿,正在探索 JMeter 压力测试与性能测试,一边学一边整理问答库,欢迎关注。