2016-03-22 75 views
1

我得到我的JMeter測試的結果,我不明白:的JMeter參數提取

我試圖從這個JSON響應了「totalRunning」值:

{"notifications":[],"taskNotificationInfo":{"totalRunning":0,"totalCompleted":0,"totalCompletedWithErrors":0,"totalFailed":0,"totalPending":0,"requestTime":1458628767436,"hasRecords":false}} 

我正則表達式被配置爲執行以下操作:

參考名稱:totalRunning

正則表達式: 「totalRunning」:「(。 ?+)」

模板:$ 1 $

比賽:1個

默認值:1個

截屏:

regex extraction config

我不斷收到默認值而不是「0」在這種情況下。 我從錯誤的地方提取它嗎?

任何幫助,將不勝感激。

回答

0

更改您的正則表達式如下:

Regular Expression: "totalRunning":(\d+) 

在問題"totalRunning":"(.+?)"被用作正則表達式。由於totalRunning的值不包含引號。所以沒有人被匹配,並且正在挑選默認值。

下面的正則表達式也可用於:

"totalRunning":(.+?), 
+0

這做到了:)謝謝。 –

+0

小心分享爲什麼(。+?)沒有抓住數字?僅適用於字符? –

+0

@TomerInbar描述是共享的。看看這個。 – Rahul

0

沒有問題與您regextotalRunning":(.+?),"totalCompleted"

只需要選擇單選按鈕,而不是BodyBody As a Document 參考快照: - enter image description here

0

將「要檢查的字段」更改爲「正文」,因爲「正文作爲文檔」適用於二進制文件Word,Excel,PDF等,請參閱How to Extract Data From Files With JMeter文章以獲取更多詳細信息。 JSON是一種常用的文本,因此應該將其視爲「正常」響應。

還有一個特殊的後處理器 - JSON Path Extractor可通過JMeter Plugins項目。如果是複雜的JSON,多個或條件匹配等,使用它可能會更好,更容易。

相關JSONPath表達爲:$..totalRunning[0]

JSON Path Extractor