打开Postman应用程序,加载需要重试的接口请求集合。右击目标集合,在弹出菜单中选择“Run collection”(运行集合)。在弹出的“Collection Runner”窗口中,找到“Iterations”(迭代次数)选项,输入期望的重试次数(例如10次),点击“Run”按钮。Postman将自动重复执行集合中的所有请求,并在结果面板中显示每次请求的响应详情(如状态码、响应时间、响应体)。
若需要更灵活的重试逻辑(如根据特定状态码触发重试),可通过JavaScript脚本实现:
let attempts = 3; // 最大重试次数
let success = false;
for (let i = 0; i < attempts; i++) {
pm.sendRequest({
url: pm.request.url.toString(), // 当前请求的URL
method: pm.request.method, // 当前请求的方法(GET/POST等)
headers: pm.request.headers, // 当前请求的Headers
body: pm.request.body // 当前请求的Body(若有)
}, (err, response) => {
if (err) {
console.error(`Retry ${i + 1} failed:`, err);
} else if (response.code === 200) {
success = true;
console.log(`Retry ${i + 1} succeeded:`, response.json());
pm.test("Request succeeded after retry", () => pm.expect(response.code).to.eql(200));
} else {
console.log(`Retry ${i + 1} failed with status code: ${response.code}`);
}
if (i === attempts - 1 && !success) {
pm.test("All retries failed", () => pm.expect.fail("Request failed after all retries"));
}
});
}
此脚本会在请求失败时自动重试,直到达到最大次数或请求成功。若需要将重试策略集成到CI/CD流程中,可使用Postman的命令行工具Newman。通过--iteration-count参数设置重试次数,例如:
newman run ~/Collections/YourCollection.postman_collection.json \
--environment ~/Environments/YourEnvironment.postman_environment.json \
--iteration-count 5 # 重试5次
该命令会重复运行指定的集合5次,适合自动化测试场景。