You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Postman请求体变量遍历及手机号迭代至200响应终止方案问询

实现Postman遍历手机号列表并在收到200响应时停止

当然可以搞定这个需求!咱直接一步步来,用Postman的脚本和集合运行器就能轻松实现:

方法一:用内置脚本管理手机号列表

这种方式适合手机号数量不多的场景,直接在脚本里定义列表就行:

1. 初始化环境变量和手机号列表

打开你的API请求所在的集合,进入「Pre-request Script」标签,添加以下代码:

// 第一次运行时初始化索引和手机号列表
if (!pm.environment.get("phoneIndex")) {
    pm.environment.set("phoneIndex", 0);
    // 替换成你要遍历的手机号数组
    pm.environment.set("phoneList", JSON.stringify(["13800138000", "13800138001", "13800138002"]));
}

// 获取当前索引和列表
let index = parseInt(pm.environment.get("phoneIndex"));
let phoneList = JSON.parse(pm.environment.get("phoneList"));

// 索引超出列表时,可选重置或直接停止(这里选重置)
if (index >= phoneList.length) {
    pm.environment.set("phoneIndex", 0);
    index = 0;
}

// 把当前手机号赋值给请求体要用的变量
pm.environment.set("currentPhone", phoneList[index]);

// 索引自增,为下一次请求做准备
pm.environment.set("phoneIndex", index + 1);

2. 修改请求体引用变量

在你的修改手机号API的请求体里,把原来固定的手机号替换成变量{{currentPhone}},比如:

{
    "newPhone": "{{currentPhone}}",
    "verifyCode": "your_code"
}

3. 添加停止逻辑的测试脚本

进入请求的「Tests」标签,添加代码判断响应状态,收到200就停止后续请求:

// 检查响应状态码是否为200
if (pm.response.code === 200) {
    console.log(`成功找到可用手机号:${pm.environment.get("currentPhone")}`);
    // 告诉Postman不要执行下一个请求,直接停止
    pm.setNextRequest(null);
    // 可选:清理环境变量,避免下次运行残留
    pm.environment.unset("phoneIndex");
    pm.environment.unset("phoneList");
} else {
    // 继续执行当前请求(实现循环遍历)
    pm.setNextRequest(pm.info.requestName);
}

4. 运行集合

点击Postman顶部的「Runner」按钮,选择你的集合,点击「Run [集合名]」,Postman就会自动遍历手机号列表,直到拿到200响应为止。


方法二:用CSV文件批量导入手机号

如果你的手机号列表很长,用CSV文件管理更方便:

1. 准备CSV文件

创建一个phone_list.csv文件,内容格式如下:

newPhone
13800138000
13800138001
13800138002

2. 配置请求体

请求体里直接引用CSV的列名作为变量,比如:

{
    "newPhone": "{{newPhone}}",
    "verifyCode": "your_code"
}

3. 添加停止逻辑的测试脚本

同样在请求的「Tests」标签里添加:

if (pm.response.code === 200) {
    console.log(`成功:${pm.variables.get("newPhone")}`);
    pm.setNextRequest(null); // 停止后续请求
}

4. 用集合运行器导入CSV

打开「Runner」,选择集合后,在「Data」区域上传你的CSV文件,然后点击「Run」,Postman会逐行读取CSV里的手机号,直到收到200响应就停止。


注意事项

  • 方法一需要确保你使用的环境变量是正常可用的
  • 如果API有频率限制,记得在Pre-request Script里添加延迟,比如setTimeout(() => {}, 1000)(单位毫秒)
  • 测试时可以多打印日志,确认手机号是否正确替换

内容的提问来源于stack exchange,提问作者Kieran Marriott

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:46:52