2017-12-27 7 views
0

Ich habe 2 Anfragen. In einer Anfrage habe ich den zufälligen Textgenerator verwendet und eine zufällige Zeichenfolge generiert und diese an eine Variable übergeben. Danach wird ein neuer Datensatz erstellt als ein zufälliger Name und eine eindeutige ID wird erstellt. Ich möchte die ID dieses Datensatzes abrufen. Wie extrahiere ich das mit JSON-Extraktor?Mit JSON-Extraktor, um Werte aus der Antwort zu extrahieren

EG.

Srno Name id 1 xvyhz 1230-1236 (einige id) 2 Abczz 1230-1236 (einige id)

Ich möchte die ID des 'Abczz' erhalten, die durch zufällige Zeichenfolge Generatorfunktion erzeugt wird, und in der Variable 'Variablenname' gespeichert. So, wie die ID dieser generierten Zeichenfolge mit JSON-Extraktor extrahieren.

+0

Bitte formatiere deine Frage so, dass JSON ist deutlich sichtbar und gültig –

+0

{ "locationApportionments": [ { "groupLocationId": null, } ], "Meter": [ { "meterId": "8ea69980-5771-4650- af37-37dff115a9d7" "meterName": "xyzio" }, { "meterId": "aa2618ec-00a1-4962-93cf-71b142e9bb4c" "meterName": "abcio" } ], "Produktionen": Null, } –

+0

@DmitriT: Oben ist die JSON-Antwort. Der Name des Zählers wird mit der Funktion für zufällige Zeichenfolgen erstellt. Und die Meterid wird erstellt, sobald der Datensatz gespeichert ist. Ich habe zufällig generierten String in einer Variablen 'meterid' gespeichert Also, wie die Zähler-ID mit dieser Variablen 'Meterid' zu extrahieren –

Antwort

0

Wenn Sie suchen meterId Attributwert in dem meterName ist abcio der relevante JSON Path Ausdruck so etwas wie sein:

$..[?(@.meterName == 'abcio')].meterId 

Demo:

JMeter JSONPath Conditional Select

Weitere Informationen: API Testing With JMeter and the JSON Extractor

+0

Aber der Zähler Name ist zufällig generiert und gespeichert in der 'metername' Variablenname. Während ich im Batch laufe, muss ich also den generierten Wert nehmen, der in dieser Variable gespeichert ist. Kann ich das so machen? $ .. [? (@. MeterName == '$ {metername}')]. MeterId –

+0

Natürlich können Sie Ihre JMeter-Variable dorthin setzen –

+0

Wenn der Variablenname verwendet wird, wird die ID nicht extrahiert. Ich habe $ .. [? (@. MeterName == '$ {metername}')]. MeterId Ich habe auch den Debug-Sampler hinzugefügt, um den extrahierten Wert zu debuggen. Aber es hat den Wert nicht extrahiert. Wenn ich jedoch den statischen Namen gebe und das mit deinem Ausdruck debugge, funktioniert es gut. Aber wenn ich den Variablennamen verwende, ist es nicht. –

Verwandte Themen