簡體   English   中英

如何在Jmeter中從JSON響應到JSON請求獲取值

[英]How to get a value from JSON response to JSON request in Jmeter

長問題,所以請忍受我。 我有多個線程組。

在此處輸入圖片說明

在我的線程組Create User中 ,我得到了一個repose值,即“ UserId” ,這就是響應。

{"CreateUserResponse":{
     "Header":{"CMMHeader": {"CorrelationId":"UserJmeter1"}},
      "Result":{"ResponseCode":"CM-N-0000","ResponseMessage":"Success"},
      "UserId":"645d026d-95bc-4782-9ad4-c034ef5f0155-1135"}}

現在在另一個線程組即“ AssignUsersinGroup”中,我想在其HTTP請求中傳遞UserId的值,即

{
  "AssignUserToApplicationGroupRequest": {
    "Header": {
      "CMMHeader": { "CorrelationId": "123" }
    },
    "ClientContext": {
      "OrganizationId": "1135"
    },
    "UserId": "${UserId}",
    "ApplicationGroupId": "Jmeter1135"
  }
}

現在,我在“ 創建用戶”線程的組中添加了一個JSON路徑預處理器。

在此處輸入圖片說明

但是它不起作用。 我都看不到請求中已發送的內容。 在此處輸入圖片說明

需要幫忙。 如何從“創建用戶的響應”中獲取UserId的值? 以及如何將其傳遞給AssignUserInGroups的請求?

提前致謝!

JMeter變量范圍僅限於當前線程組,因此您將無法訪問另一個線程組中的變量集。 解決方案是使用__setProperty()函數將其轉換為JMeter屬性。 JMeter屬性對於整個JVM是全局的,因此您可以在任何地方使用該值。 設置后,您可以通過__P()函數訪問屬性值


一個更好的主意是使用線程間通信插件,這樣,您不僅可以在線程組之間共享變量,而且還可以進行線程同步,即,在填充UserId值之前,不要啟動AssignUsersinGroup

建議的安裝JMeter插件並使它們保持最新的方式是使用JMeter插件管理器

JMeter插件管理器線程間通信

暫無
暫無

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

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