2015-10-06 50 views
-1

的JMeter時,試圖獲取在我的情況下,響應的一部分,我想在接下來的請求中傳遞的唯一名稱通過默認值,但它需要默認值:正則表達式默認值

{"status":"success","body":{"uniqueName":"jpr1444130495897","voucherType":"sales","transactions":[{"creditAccount":{"uniqueName":"acctomerge","name":"Mayank"},"debitAccount":{"uniqueName":"dacc","name":"dummyaccount"},"amount":2228}],"voucherNo":1912,"date":"01-09-2015","tag":"dummydata","description":"Q3goK8QrUo"}} 

在上面響應我必須捕獲uniquename &在我的下一個請求中傳遞它。但默認情況下它採用默認值。

豆殼斷言包含:

${__setProperty(uniqueName,${uniqueName})} 

下一個請求是這樣的。

仍提取默認值。有人請幫忙。

+0

不是我理解的問題,但這是JSON,所以使用JSON解析器,而不是正則表達式。 – Biffen

回答

0

由於Biffen表示最好使用Jmeter插件提供的JSON路徑提取器(http://jmeter-plugins.org/wiki/JSONPathExtractor/)。這對於JSON來說更容易 - 只需放置JSON路徑(可能在你的情況下,只需要uniqueName就可以了,但你可以在那裏放置$ .body.uniqueName)並將變量名作爲uniqueName添加,這樣就沒有問題了它稍後在下一個請求中作爲$ {uniqueName}。就是這樣。

哦,你的帖子建議你嘗試用Beanshell聲明而不是正則表達式提取器提取它 - 這也可以是一種情況。

+0

嗨,大家好,感謝您的意見。我已經使用像這樣的正則表達式{「uniqueName」:「(。+?)」,「voucherType」能夠用正則表達式處理。 再次感謝解決方案將嘗試json路徑提取器也 – Yudi04

+0

json提取器應該能夠提取到屬性?示例屬性:$ {__ P(uniqueName)} – Aaron

+0

沒關係,它只提取到jmeter線程本地的變量。 – Aaron

0

你需要提取什麼確切的uniqueName?在你的JSON數據有其中3:

  1. jpr1444130495897
  2. acctomerge
  3. DACC

enter image description here

這是沒有必要變量轉換爲屬性在明年使用請求。如果這兩個請求住在同一個線程組中 - 這是足夠使用的參考名稱,比如${uniqueName}

對於JSON數據它更方便(通過JMeter Plugins項目中可用)使用JSON Path Extractor。請參閱Using the XPath Extractor in JMeter指南(向下滾動到「解析JSON」)插件安裝和使用說明。

+0

嗨,大家好,感謝您的參與。我已經使用像這樣的正則表達式{「uniqueName」:「(。+?)」,「voucherType」能夠用正則表達式處理。 再次感謝解決方案將嘗試JSON路徑提取器也 – Yudi04

相關問題