Plugin JSON Path Extractor
Este plugin nos permite extraer valores desde una respuesta en json.
Como lo descargamos:
Desde el plugins manager lo buscamos como JSON Plugins
Vamos a ver un ejemplo.
Ejemplo 1:
Tenemos una respuesta donde nos muestra los siguientes datos, y queremos extraer solo el campo "user_id":
Para extraerlo agregamos un json path extractor.
Y lo completamos de la siguiente manera:
Variable Name: Nombre de la variable a la que le vamos a asignar el valor extraído.
JSONPath Expression: La expresión para extraer la información deseada.
Default Value: Un valor por defecto si no llegara a encontrar información con la expresión que escribimos. (Opcional)
El resultado de esta expresión seria una variable llamada user_id que tiene asignado el valor 18887656.
Ejemplo 2:
Tenemos una respuesta donde queremos extraer todos los campos llamados "id".
Para extraerlos completamos el json path extractor de la siguiente manera:
JSONPath Expression: La expresión para extraer la información deseada. En este caso podemos ver en la respuesta que la informacion que necesitamos esta dentro del array "groups", para indicar esto ponemos en la expresión json groups[*], si quisiéramos solo el campo "id" que está en la primera posición del array nuestra expresión seria: $.response.groups[0].id
*** Al haber extraído varios campos "id", vamos a tener tantas variables como campos "id" haya encontrado, entonces nuestras variables se llamaran groups_1, groups_2....groups_n. Y para saber cuantas variables creamos podemos saberlo llamando a la variable groups_matchNr, y crear por ejemplo un foreach.
Ejemplo 3:
Tenemos una respuesta donde queremos extraer todos los campos llamados "id" mientras que el campo "format_types=ppe".
Para extraerlos completamos el json path extractor de la siguiente manera:
En este caso, al querer solo los groups que cumplan con la condición format_types=ppe, vamos a usar :
$.. cualquier ruta que nos lleve al objeo deseado
? () - función de filtro
@ - objeto actual
Y nos quedaria formada la siguiente expresion: $..[?(@.format_types=='ppe')].id - Mientras encuentre en cualquier ruta format_types=ppe que extraiga el campo id.
***Cualquiera de los ejemplos o expresiones que se creen pueden ser probadas dentro de Jmeter desde el árbol de resultados.***
Ponemos nuestra expresión a testear, click en test y nos trae los resultados de nuestra expresion, si no coincide nada nos va a mostrar "NO MATCH".