如何基于CSV数据文件输入,在Collection中运行指定请求?
解决方案
步骤1:调整CSV数据文件结构
在CSV中新增一列(比如命名为targetRequests),每行填入你要运行的请求名称(必须和Collection里的请求名完全一致)。如果单次迭代需要运行多个请求,可将多个名称用逗号分隔(例如TC-2,TC-3);如果每行对应单独运行一个请求,就每行填一个名称(比如第一行TC-2,第二行TC-3)。
步骤2:添加Collection级别的前置脚本
打开你的Collection,进入「Pre-request Script」标签页,添加以下代码:
// 从CSV数据中获取目标请求列表 const targetList = pm.iterationData.get("targetRequests"); // 处理列表:如果是逗号分隔的字符串则转为数组,否则直接作为单个元素的数组 const targetRequests = typeof targetList === 'string' ? targetList.split(',').map(item => item.trim()) : [targetList]; // 获取当前要执行的请求名称 const currentRequest = pm.request.name; // 判断当前请求是否在目标列表中,不在则跳过执行 if (!targetRequests.includes(currentRequest)) { pm.execution.skip(`跳过请求:${currentRequest}(不在指定运行列表内)`); }
步骤3:运行Collection并加载数据文件
- 点击Collection右侧的「Run」按钮,打开Collection Runner;
- 在「Data」选项中选择你准备好的CSV文件;
- 设置迭代次数(根据CSV的行数来定);
- 点击「Run [Collection名称]」开始执行。
执行后,只有名称匹配CSV中targetRequests列的请求会被运行,其他请求自动跳过。如果你的CSV每行对应单个请求的测试参数,也可以调整脚本逻辑,让每次迭代只运行该行指定的单个请求。
内容的提问来源于stack exchange,提问作者QARR
相关产品推荐
相关产品推荐

