2017-06-01 48 views
0

我在jmeter中創建一個測試運行,在特定點從json提取器提取字符串列表與json提取器,並應該加入此列表與逗號分隔符重用作爲其他請求中的參數。JMeter加入字符串列表

問題是我無法找到一種方法來加入字符串,因爲JMeter只爲每個用戶(線程)返回一個項目。

有沒有辦法做到這一點?

回答

0

添加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; 
+0

我也說不定misundestood你的問題一點點,但你可以作出適當修改,並從一個響應添加字符串列表列出保存的屬性格式(如我的答案)。對不起,從我的頭上做這個... –