2017-09-14 4 views
0

Needkomplexer Regex für JMeter

<input id="__TriDocumentName" type="hidden" 
value="C%3A%5CWindows%5CTEMP%2Fdocuments%5CBIRTDOCtDY1z2sxwRM6nzf2s7UGO0S%5C20170913_061108_464%5CBalance+Sheet+Report28082017.rptdocument"/> 

Wert unter dem Wert von Zeichenfolge in JMeter erfassen Capture sein: 20170913_061108_464

was die Regex dafür sein?

Beachten Sie hier BIRTDOCtDY1z2sxwRM6nzf2s7UGO0S Wert ist auch dynamisch.

+0

dies ist die komplette Zeichenfolge – KTL

+0

https://StackOverflow.com/Help/Someone-answers – user7294900

Antwort

0
  1. Klicken Sie mit der rechten Maustaste auf den Sampler, von dem Sie den dynamischen Wert extrahieren möchten, und fügen Sie> Post-Prozessoren> Regular Expression Extractor hinzu.
  2. Kontrollkästchen "Anwenden auf": Dies ist hilfreich, wenn das Beispiel untergeordnete Stichproben enthält, die nach eingebetteten Ressourcen fragen. Dieser Parameter definiert einen regulären Ausdruck, der entweder nur auf die Haupt-Stichprobenergebnisse oder auf die eingebetteten Ressourcen angewendet wird. Sie können entsprechend Ihrer Anforderung wählen
  3. Kontrollkästchen "Antwortfeld zu überprüfen". Dieser Parameter definiert, auf welches Feld regulärer Ausdruck angewendet werden soll.
  4. In regulärem Ausdruck Feld: Sie müssen die linke Grenze und die rechte Grenze des Werts für z. Das ist meine Antwort "Etwas Datum:" 20170913_061108_464 "Irgendein Wert", dann ist meine Regex [Datum: "(. +?)"] wo (Datum: ") ist die rechte Grenze und (") ist die linke Grenze .

  5. Vorlage. Die Vorlage, die zum Erstellen einer Zeichenfolge aus den gefundenen Übereinstimmungen verwendet wird. 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 "Ökonomie" nach dem regulären Ausdruck "(ec) (onomics)" suchen und die Vorlage $ 2 $$ 1 $ anwenden, erhalten Sie in der Ausgabevariable "onomicsec".

  6. Übereinstimmung ¹. Wenn es mehrere Zeichenfolgen gibt, kann angegeben werden, welche Variante genau verwendet werden soll. Wichtige Notiz. Wenn Sie "Apply to" auf "Main sample and sub-samples" setzen und "Match ¹" = 3 angeben, wählt JMeter die passende Sequenz aus der zweiten Sub-Probe aus, da 1st die Hauptprobe ist. Wenn Null angegeben wird, wählt JMeter zufällig eine Übereinstimmung. Wenn Sie eine negative Zahl angeben, z. "-2"
  7. Um den extrahierten Wert aufzurufen, verwenden Sie den Referenznamen gefolgt von $ sign.
0

Reguläre Ausdrücke verwenden Extractor mit Datum Muster nach% 5C und bis zum nächsten%:

Regular Expression : %5C([0-9\_]+)% 

Template: $1$ 

Match No: 1 
0

Reguläre Ausdrücke verwenden Extractor mit folgenden Muster

Regulärer Ausdruck: [AZ] +% 5C ([0-9 _] +)% 5

Vorlage: 1 $ $

Spiel N o: 1

+0

Ist es zu meiner Antwort zu ähnlich? – user7294900

+0

Ihre Regex wird dynamische Wert nicht verwerfen !! –

0

Der folgende Code funktioniert.

<input id="__TriDocumentName" type="hidden" value="C%3A%5CWindows%5CTEMP%2Fdocuments%5C.*?%5C(.*?)%5CBalance\+Sheet\+Report28082017.rptdocument"