jmeter - servicio - performance test rest api
¿Cómo podemos verificar la respuesta de Json usando Beanshell en Jmeter? (2)
Estoy recibiendo a Json como respuesta. En lugar de usar jsonPath_assertion múltiple, quiero verificarlo en beanshell individuales. Cada vez recibo Respuesta con diferentes valores.
Puedes usar la afirmación de beanshell. Te ayudará mucho.
prev.getResponseDataAsString()
devolverá su respuesta json como una cadena. Espero que estés usando el evaluador en línea de Jsonpath para evaluar las respuestas json. Supongamos que si mi código de evaluador en línea json se ve así:$.items[2].CM_SEQNUMBER
En la declaración de beanshell he usado
JsonObject jsonobj = JsonObject.readFrom(jsonString);
JsonArray jsonarr = jsonobj.get("items").asArray();
String pickupToCheck=jsonarr.get(2).asObject().get("CM_SEQNUMBER").asString();
De manera similar, puede verificar sus datos JSON sin usar múltiples JSONPath Extractor usando una única afirmación de beans.
Sugeriría usar JSR223 Assertion y Groovy language en su lugar.
Groovy tiene soporte JSON incorporado para que pueda usar la clase JsonSlurper para analizar la respuesta como:
def json = new groovy.json.JsonSlurper.parseText(prev.getResponseDataAsString())
// do what you need here
Además, Groovy funciona mucho mejor que Beanshell y se recomienda usarlo para crear scripts en JMeter. Vea Groovy Is the New Black para más información.