簡體   English   中英

如何在Jmeter中的單個json請求中發送多個Json數據

[英]How to send multiple Json data i the single json request in Jmeter

我正在尋找在同一Json請求中向我的服務發送(POST)多個數據,這是示例:

{
  "contributionRequest":{
  "contributionData":[ 
                      {"startDate":"2010-01- 01”dataItemName":"XYZ",
                       "dataItemValue":"",
                       "expireDate":"",
                       "inputScale":"",
                       "endDate":"",
                       "identifier":"MSFT",
                       "publishDate":"",
                       "trait":"",
                       "fiscalPeriod":"FY1",
                       "currency":""},

                      {"startDate":"2014-01-01”dataItemName":"ERT",
                       "dataItemValue":"",
                       "expireDate":"",
                       "inputScale":"",
                       "endDate":"",
                       "identifier":"MSFT",
                       "publishDate":"",
                       "trait":"",
                       "fiscalPeriod":"FY1",
                       "currency":"USD"}
                    ],
                    "acceptPartialRequest":true,
                    "sharingLevel":"self",
                    "uuid":"PAXTRA77385",
                    "clientDateTime":"2014-04-24T16:05:05.480Z"}
}  

我嘗試了線程組用戶/循環控制器,但是它們創建了不同的請求,問題是我想在同一請求中加載數千條記錄。 在貢獻者的請求中,我希望加載成千上萬的記錄,但它們都應在同一個請求中

我建議使用以下解決方案之一:

解決方案1

使用單獨的setUp線程組填充大型請求實體,將其存儲到JMeter屬性,並將其傳遞給“主”線程組。 這里可以使用多種方法:

一旦有了巨大的JSON,就可以通過將其轉換為JMeter Property 在不同的線程組中使用它

解決方案2

Beanshell預處理器添加到您的請求中,其中包含用於構建JSON數據的代碼,例如

//code to generate JSON data
JSONObject object = new JSONObject();
object.put("contributionRequest", contributionData);
....
String data = object.toJSONString();
vars.put("request", data);

然后在您的HTTP請求中將其稱為{request}

有關通過Beanshell腳本進行JMeter擴展的詳細信息,請參見如何使用BeanShell:JMeter最喜歡的內置組件指南。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM