如何从使用JSON提取器提取的多个值中为每个请求使用一个值
使用JSON提取器,从响应体中提取多个值。 调试采样器->For eg显示这3个值如何从使用JSON提取器提取的多个值中为每个请求使用一个值,json,jmeter,Json,Jmeter,使用JSON提取器,从响应体中提取多个值。 调试采样器->For eg显示这3个值 ID\u 1=212 ID_2=211 ID_3=225 如何在下一个HTTP Post请求中使用其中的每一个?比如如何为每次运行使用一个值 请求后机构 {“id”={$id}}->不起作用。 但是,{“id”={$id_1}}、{“id”={$id_2}、{“id”={$id_3}}可以单独工作。我希望避免每次都手动更改POST body请求。在JSON提取器之后添加一个右键(在同一级别,作为第一个请求的子项)
ID\u 1=212
ID_2=211
ID_3=225
如何在下一个HTTP Post请求中使用其中的每一个?比如如何为每次运行使用一个值
请求后机构
{“id”={$id}}->不起作用。
但是,{“id”={$id_1}}、{“id”={$id_2}、{“id”={$id_3}}
可以单独工作。我希望避免每次都手动更改POST body请求。在JSON提取器之后添加一个右键(在同一级别,作为第一个请求的子项),并在代码区域中使用下面的代码
int matchNr = Integer.parseInt(vars.get("ID_matchNr"));// ID is the reference name of your JSON Extractor
String ID = "";
for(int i = 1; i <= matchNr; i++){
if(i == 1){
ID = "{\"id\"=" + vars.get("ID_" + i) + "}, ";
}
else if(i == matchNr){
ID = ID + "{\"id\"=" + vars.get("ID_" + i) + "}";
}
else{
ID = ID + "{\"id\"=" + vars.get("ID_" + i) + "}, ";
}
vars.put("IDs", ID);
}
int-matchNr=Integer.parseInt(vars.get(“ID_-matchNr”);//ID是JSON提取器的引用名称
字符串ID=“”;
对于(inti=1;i在代码区域中添加一个JSON提取器(与第一个请求的子级处于同一级别),代码如下
int matchNr = Integer.parseInt(vars.get("ID_matchNr"));// ID is the reference name of your JSON Extractor
String ID = "";
for(int i = 1; i <= matchNr; i++){
if(i == 1){
ID = "{\"id\"=" + vars.get("ID_" + i) + "}, ";
}
else if(i == matchNr){
ID = ID + "{\"id\"=" + vars.get("ID_" + i) + "}";
}
else{
ID = ID + "{\"id\"=" + vars.get("ID_" + i) + "}, ";
}
vars.put("IDs", ID);
}
int-matchNr=Integer.parseInt(vars.get(“ID_-matchNr”);//ID是JSON提取器的引用名称
字符串ID=“”;
对于(inti=1;i,您可以根据需要为每个循环使用。请检查jmeter。
ForEach的第一个示例jmx可以满足您的需求。
在reqEx下面获取所有。然后forEach将所有正则表达式作为“inputVar”中的输入,并使用returnVar获取它。将returnVar传递给下一个请求,即HTTP 2。
希望这对您有所帮助。您可以根据自己的需求为每个循环使用。请检查jmeter。
ForEach的第一个示例jmx可以满足您的需求。
在reqEx下面获取所有。然后forEach将所有正则表达式作为“inputVar”中的输入,并使用returnVar获取它。将returnVar传递给下一个请求,即HTTP 2。
希望这有帮助