Tengo el siguiente formato JSON en el cuerpo de respuesta
[ { "Name" : "Prashant", "City" : "Sydney" }, { "Name" : "Yogi", "City" : "London" } ]
¿Cuál es la mejor manera de comprobar si este conjunto tiene algún registro y, en caso afirmativo, darme “Nombre” para el primer índice del conjunto. Estoy usando jp @ gc JSON extractor plugin para jMeter.
¿Es posible analizar esto usando un plugin o necesito hacerlo usando expresiones regulares?
Usando el plugin JSON de Ubik Load Pack para JMeter que es parte de JMeter desde la versión 3.0 (plugin donado) y llamado JSON Extractor , puedes hacerlo:
Resumen del plan de prueba:
ULP_JSON PostProcessor:
Si el controlador:
Y aquí está el resultado de la ejecución:
Como puede ver, es posible con nuestra solución
No estoy seguro acerca de su complemento, pero si es compatible con las expresiones de ruta JSON, debería ser posible.
Pruebe con esta expresión: $.[0].Name
.
Este es el complemento que uso: http://jmeter-plugins.org/wiki/JSONPathExtractor/ y la expresión dada funciona con él.
Puede encontrar más sobre las expresiones de la ruta JSON aquí: http://goessner.net/articles/JsonPath/index.html#e2 .
Trabajar con JSON en JMeter no es tan fácil ya que JMeter se diseñó hace mucho tiempo antes de que se inventara JSON. Sin embargo, hay algunas extensiones que hacen la vida más fácil:
Podemos agregar un extractor de expresiones regulares para recuperar el valor de la respuesta.
Me gusta esto:
Si es posible, siempre use Regular Expression Extractor
. Intenta evitar JSON / XPATH / Otros extractores. Pueden parecer fáciles de usar. Pero consumen más memoria y tiempo. Afectará el rendimiento de su plan de prueba.
fuente : http://www.testautomationguru.com/jmeter-response-data-extractors-comparison/