Proponuję przyjrzeć:
http://jmeter-plugins.org/wiki/JSONPathExtractor/
ten odcinek (utils JSON (JSON Ścieżka twierdzenie, JSON Ścieżka wyciąg, JSON Formatter)), w szczególności w tym przypadku. Są to zestaw narzędzi jmeterowych opracowanych w mojej firmie, są one bardzo przydatne.
Weźmy za przykład Twoją sprawę. Przypadek testowy wygląda następująco:
Więc manekin próbka zwraca odpowiedź, tak jak ten, który określony:
{"address":{"id":26,"user_id":1,"genre":"billing","first_name":"testFN1","last_name":"testLN1","company":null,"street1":null,"street2":null,"city":null,"state":"DC","zip":null,"country":null,"country_iso2":null,"phone1":"32432424322","phone2":null}}
ekstrakcja JSON jest bardzo prosta:
$.address.id
I nie potrzebujesz żadnych wyrafinowanych wyrażeń. Wynik to 26 (to jest to, co widzę w sampler debugowania).
Aktualizacja z pytaniem w komentarzach:
Gdybyś listę wartości mają IE:
{"address":[{"id":26,"user_id":1,"genre":"billing","first_name":"testFN1","last_name":"testLN1","company":null,"street1":null,"street2":null,"city":null,"state":"DC","zip":null,"country":null,"country_iso2":null,"phone1":"32432424322","phone2":null}, {"id":6,"user_id":1,"genre":"billing","first_name":"testFN1","last_name":"testLN1","company":null,"street1":null,"street2":null,"city":null,"state":"DC","zip":null,"country":null,"country_iso2":null,"phone1":"32432424322","phone2":null}]}
Lista z 2 Adres-es, 1 ma identyfikator 26 i 6. inną ścieżkę Json $.address.id
powinien zwrócić oba te identyfikatory. Widziałem tylko kod źródłowy sampler i to nie jest możliwe, aby uzyskać zliczania jednak można to zrobić przez dodanie kolejnego postprocesor do próbki tj BSF Sampler
i dodając ten kod:
vars.put("ADDRESS_COUNT", "${__javaScript('${add}'.split('\,').length,)}".toString());
Gdzie ${add}
jest jakakolwiek zmienna w której przechowywany wyniki $.address.id
.
mrówka, to jest bardzo interesujące. Jednak z jakiegoś powodu nie udało mi się przekonać mvn do kompilacji pliku. Czy istnieje plik JAR, który można pobrać bez kompilacji? – Dean
@ Dean prawdopodobnie używasz maven 2 do budowy projektu. Powinieneś użyć maven 3, przepraszam, nie wspominając o tym, że na stronie github zmienię to – ant
to się zmieniło właśnie teraz – ant