2016-03-22 11 views
1

Ich bin ein Ergebnis in meinem jmeter Test bekommen, die ich nicht verstehe:Jmeter Parameterextraktion

ich den „totalRunning“ Wert aus dieser Json Antwort zu extrahieren versuchen:

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

Mein regex ist so konfiguriert, wie folgend:

Referenz Name:

Regular Expression totalRunning: "totalRunning": "(. ? +)“

Vorlage: $ 1 $

Match: 1

Standardwert: 1

Screenshot:

regex extraction config

Ich erhalte den Standard Wert anstelle von "0" in diesem Fall. Extrahiere ich es von der falschen Stelle?

Jede Hilfe wäre willkommen.

Antwort

0

Ändern Sie Ihre regulären Ausdruck wie folgt:

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

In der Frage "totalRunning":"(.+?)" wird als regulärer Ausdruck verwendet wird. Da Werte von totalRunning nicht in Anführungszeichen eingeschlossen sind. Daher wurde keine Übereinstimmung gefunden und der Standardwert wird ausgewählt.

Below regex kann auch verwendet werden:

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

, sie habe :) danke. –

+0

Interessieren Sie sich dafür, warum die (. +?) Die Ziffer nicht erfasst hat? nur für Zeichen? –

+0

@TomerInbar Beschreibung wird geteilt. Schau es dir an. – Rahul

0

Es gibt kein Problem mit Ihrem regextotalRunning":(.+?),"totalCompleted"

nur Sie Radioknopf Body statt Body As a Document siehe Snapshot auswählen müssen: - enter image description here

0

Ändern Sie Ihre "Feld zu überprüfen" in "Körper" als "Körper als ein Dokument" ist für Binärdateien wie Word, Excel, PDF usw. finden Sie unter How to Extract Data From Files With JMeter Artikel für weitere Details. JSON ist ein üblicher Text, daher sollte er als "normale" Antwort behandelt werden.

Auch gibt es einen speziellen Postprozessor - JSON Path Extractor über JMeter Plugins Projekt verfügbar. Im Falle von komplexem JSON, mehreren oder bedingten Übereinstimmungen usw. könnte es besser und einfacher sein, es zu verwenden.

Der relevante JSONPath Ausdruck wird: $..totalRunning[0]

JSON Path Extractor