2016-04-13 5 views
0

Getestet regulären Ausdruck mit Ansicht Ergebnisbaum, gibt es korrekte Daten (30 Treffer). Ich habe den Referenznamen im regulären Ausdruck Extraktor als regexid verwendet. Regulärer Ausdruck, den ich benutzt habe, ist \ d {7} $ {regexid} hat den Wert gleich null. Überprüft Debug-Sampler. es hat unter info regexid = null regexid_g = 0 regexid_g0 = 6104546NULL-Wert für Variable bei Verwendung des regulären Ausdruck Extraktor für JSON-Antwort

Warum regexid Nullwert hat, wenn es enter image description here

Antwort

1

Meine Erwartung ist,

für diesen regulären Ausdruck 30 Matches waren, dass Sie nicht setzen alles in "Template" Feld, versuchen Sie die folgende Konfiguration:

  • Vorlage: $1$
  • Spiel No: -1

Per Using RegEx (Regular Expression Extractor) With JMeter Führer:

Vorlage.

Die Vorlage zum Erstellen einer Zeichenfolge aus den gefundenen Übereinstimmungen. Dies ist eine beliebige Zeichenfolge mit speziellen Elementen, die sich auf Gruppen innerhalb des regulären Ausdrucks beziehen. Die Syntax für eine Gruppe lautet: '$ 1 $' bezieht sich auf Gruppe 1, '$ 2 $' bezieht sich auf Gruppe 2 usw. $ 0 $ bezieht sich auf den gesamten Ausdruck. Wenn Sie also im Antwortwort "Wirtschaft" nach dem regulären Ausdruck "(ec) (onomics)" suchen und die Vorlage $ 2 $$ 1 $ anwenden, erhalten Sie in der Ausgabevariable "onomicsec".


N. B. Es könnte einfacher sein, JSON Path Extractor zu verwenden, das über JMeter Plugins Projekt verfügbar ist, um mit JSON-Antworten umzugehen

+0

gespeichert Template-Wert war $ 1 $ und ich versuchte mit Match num Werte als 0,1,2, -1. immer noch bekomme ich den Wert als null –

0

Es scheint, dass Ihre Regex falsch ist, da es keine definierte Rückgabegruppe enthält.

+0

Wenn ich den regulären Ausdruck in Sicht Ergebnisbaum getestet, gibt es die Ergebnisse der Übereinstimmung zurück. Ich habe das Bild davon angehängt. Regex ist nicht das Problem, denke ich! –

0

Wenn Sie -1 als Match-Nummer als regexid übergeben haben den Wert, was Sie in Ihrem Standardwert von regulären Ausdruck Extraktor definiert haben. Wenn Sie alle Werte verwenden möchten, können Sie sie verwenden, indem Sie $ {regexid_1}, $ {regexid_2} usw. übergeben. Siehe unten Schnappschüsse enter image description here

Der Standardwert ist notfound hier

enter image description here

So variable Verknüpfung bestehen aus notfound (defulat Wert in regex etractor definiert, scheint haben Sie in Standardwert null definiert, so dass Sie null bekommen werden). rest Alle Werte sind in refrence Name von Nummer

+0

Ich habe standardmäßig definiert als: Not_Found. Auch ** Wenn die Match-Nummer auf eine negative Zahl gesetzt ist, werden alle möglichen Übereinstimmungen in den Sampler-Daten verarbeitet **. Es stellt den Wert der Variablen nicht als Standardwert ein, außerdem macht es keinen Sinn, es wäre sowieso nicht der Zweck, reguläre Ausdrücke zu verwenden, da es einfach einer Variable einen Wert zuweisen würde. –