我有一个API,它将多个ID作为参数:
http://pqa-volpqa.unknown.com:8080/items/batch/?Ids=00000017072571,00000017072588,00000017072595,00000019786230,00000019987460,00000019988238,00000019988283,00000019990170,00000020015206,00000020015213
现在,这些ID会在以下CSV文件中提及:
00000017072571
00000017072588
00000017072595
00000019786230
~~
~~
~~
00000020015213
我该如何实现?
答案 0 :(得分:1)
如果它们各自是一个单独的行,那么仍然可以使用__groovy() function:
${__groovy(def line = new File('/path/to/your/file.csv').getText().replaceAll(System.getProperty('line.separator')\,'\,'),)}
请参阅Apache JMeter Functions - An Introduction以了解有关JMeter Functions概念的更多信息。
答案 1 :(得分:0)
您可以添加Loop controller 循环次数 =您要添加的ID数量。然后使用以下配置在循环控制器内添加Counter:
1
1
Counter
Track counter independently for each user
和Reset counter on each thread group iteration
使用以下配置在计数器后添加CSV Data Set Config:
The full name to your file
//如果csv文件与您的jmx文件不在同一文件夹中,则应输入CSV文件的完整路径。最后,在csv数据集配置之后添加BeanShell Sampler,并在代码区域中添加以下代码:
String id = vars.get("id");
int Counter = Integer.parseInt(vars.get("Counter"));
if (Counter == 1){
vars.put("IDs", id);
}
else{
vars.put("IDs", vars.get("IDs") + "," + id);
}
以上所有内容都应该在您的API之前,现在您可以使用以下API:
http://pqa-volpqa.unknown.com:8080/items/batch/?Ids=${IDs}