Schleife durch die Daten in JMeter und Speicherung von Daten zur Verwendung in anderen sampler
Habe ich folgende Daten in XML-Antwort in JMeter:
<details>
<srNo>1</srNo>
<key>123</key>
<Name>Inspector</piName>
<age>89</age>
<country>India</country>
</details>
....................................
...................................
<details>
<srNo>1</srNo>
<key>123</key>
<Name>Inspector</piName>
<age>89</age>
<country>America</country>
</details>
angenommen ich habe n die Anzahl der Daten, aus der Antwort der XML-Datei. Ich möchte Lesen Sie den Wert von "key". für zB. 1 ich habe, um zu Lesen "1" und speichern in einer variable.
Für 1 Antwort ich lese es in XPath extractor und immer den richtigen Wert, aber jetzt habe ich eine Schleife durch Sie angegebene Menge von Schlüssel-Wert in eine variable. Nehme an, wenn ich will 1000 solcher Schlüssel dann muss ich die Schleife bis zu 1000 mal, um alle den Wert in der Variablen.
Nachdem man diesen Wert in der Variablen habe ich verwendet, den Wert in einem anderen Sampler
für zB: ${key1}
- Sie sollten nicht eine Schleife. Posten Sie Ihre XPath-so können wir sehen, was du tust, so weit.
- danke für die Antwort, ich benutzte die folgenden xpath-Abfrage für die ersten key: /serviceResponse/details[1]/key/text() ich nehmen muss, alle wichtigen Werte in Variablen und verwendet Sie in anderen sampler.
- bitte haben Sie einen Blick in meinem Fall. Danke.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen, Beanshell Postprozessor mit beanshell/java-code zum extrahieren der Werte aus der xml-Antwort und speichern Sie in der Variablen oder das schreiben einer Datei.
Können Sie auch speichern Sie die extrahierten Schlüssel in Datei und Lesen Sie dann über CSV-Daten Festlegen Config.
Ebenso können Sie Einblick in guter Artikel über Java XPath API mit Beispielen, im Falle dass, wenn Sie irgendwelche Schwierigkeiten bei der script-Implementierung.
Hoffe, das hilft.
Der obige Beispiel-code funktioniert bei mir, allerdings fehlt eine import:
Als die Zeile:
erfordert InputSource importiert werden.
Nach, dass es funktioniert perfekt für mich.
Nach dem abrufen der Daten, fügen Sie ein BeanShell-element-Postprozessor. Verwenden Sie den folgenden code zum schreiben der Variablen in einer Datei:
Die ausgewählte Antwort zu sein scheint, einen komplizierten Weg zu tun, die einen xpath-Extraktion unter Verwendung von:
//serviceResponse/details/key/text()
Fast die gleiche wie Ihre eigenen, xpath, außer es findet alle Elemente, nicht nur die ersten (durch einfaches entfernen der array-Referenz []).
Dieser wird alle die gefunden Schlüssel in Variablen genannt key_? wo ? ist eine inkrementierende Ganzzahl von key_1.
Finden Sie, wie viele Variablen wurden extrahiert aus variable key_matchNr.
Die komplizierte version oben ist anders, dass es bei key_0.
Nun, wie iteriert über diese Liste, ist eine andere Sache, wenn es das ist, was Sie tun müssen.