0
我在jmeter中創建一個測試運行,在特定點從json提取器提取字符串列表與json提取器,並應該加入此列表與逗號分隔符重用作爲其他請求中的參數。JMeter加入字符串列表
問題是我無法找到一種方法來加入字符串,因爲JMeter只爲每個用戶(線程)返回一個項目。
有沒有辦法做到這一點?
我在jmeter中創建一個測試運行,在特定點從json提取器提取字符串列表與json提取器,並應該加入此列表與逗號分隔符重用作爲其他請求中的參數。JMeter加入字符串列表
問題是我無法找到一種方法來加入字符串,因爲JMeter只爲每個用戶(線程)返回一個項目。
有沒有辦法做到這一點?
添加BeanShell的後處理器請求後,你在哪裏提取與提取數據,並把:
try {
List<String> perUserSubmissionTickets = (List<String>) JMeterUtils.getJMeterProperties()
.get("jsonExtractorResultList");
perUserSubmissionTickets.add(vars.get("singleJsonExtraction"));
JMeterUtils.getJMeterProperties().put("jsonExtractorResultList");
} catch (NullPointerException e) {
List<String> perUserSubmissionTickets = new ArrayList<>();
perUserSubmissionTickets.add(vars.get("singleJsonExtraction"));
JMeterUtils.getJMeterProperties().put("jsonExtractorResultList");
}
有了這個,你已經創建了一個包含所有提取vaules列表。如果你需要將其轉換爲以逗號separed所有值的字符串做這樣的事情(在提取的所有值):
String commaSeparated;
for(String s : (List<String>) JMeterUtils.getJMeterProperties()
.get("jsonExtractorResultList"))
commaSeparated = commaSeparated + s + ",";
vars.put("commaSeparatedValues", commaSeparated.substring(0,str.length()-1));
在這之後,你應該有這樣的字符串:data1,data2,dataN
記得要聲明這些進口在BeanShell的腳本的begining:
import org.apache.jmeter.util.JMeterUtils;
import java.util.ArrayList;
import java.util.List;
我也說不定misundestood你的問題一點點,但你可以作出適當修改,並從一個響應添加字符串列表列出保存的屬性格式(如我的答案)。對不起,從我的頭上做這個... –