while variable sampler manager debug data cookie configuración csv get jmeter httprequest load-testing

variable - JMeter: Pasar parámetros a una cadena de consulta de solicitud HTTP GET utilizando datos CSV



jmeter random variable (1)

La razón por la cual mis pruebas fallaban era simplemente porque ingresaba la información incorrecta en el campo Ruta en la Muestra de solicitud HTTP.

Inicialmente, mi camino se veía así,

/myCalendar?c=calendarName&l=location&i=calendarId&loc=locationId&s=calendarEvent&a=eventId&t=epochTime

y los pares de nombre / valor del parámetro en el campo "Enviar parámetros con la solicitud" fueron:

  • calendarName, $ {calendarName}
  • ubicación, $ {location}
  • calendarId, $ {calendarId}

Aprendí del comentario que aparece debajo de mi pregunta que la cadena de consulta no debe incluirse en el campo de ruta, por lo que todo lo que se encuentre después del signo de interrogación debe tratarse en el campo "Enviar parámetros con la solicitud". Entonces la ruta debería verse así:

/myCalendar?

Y los nombres en los pares nombre / valor deben usar la variable que existe antes de que cada signo sea igual a este:

  • c, $ {calendarName}
  • l, $ {location}
  • i, $ {calendarId, etc.}

Todas mis pruebas están pasando ahora e iterando a través de mis múltiples archivos .csv como se esperaba.

Soy bastante nuevo en JMeter y estoy creando una prueba de carga. Tengo una solicitud GET en una Muestra de HTTP que se ve así:

/myCalendar?c={calendarName}&l={location}&i={calendarId}&loc={locationId}&s={calendarEvent}&a={eventId}&t={epochTime}

Los nombres que se muestran entre llaves son los nombres de mis parámetros. Cada uno de estos parámetros tiene su propio archivo .csv y, por lo tanto, su propio elemento de configuración de conjunto de datos CSV. Cada uno de estos parámetros también está vinculado a sus respectivos archivos CSV en el campo "Enviar parámetros con la solicitud" en la muestra de HTTP.

Mis pruebas están fallando, pero puedo decir haciendo clic en el indicador de prueba fallido en mi Árbol de resultados que TODOS los parámetros devuelven los valores correctos de mi archivo .csv. Sin embargo, he notado que la prueba pasará en algunos casos si codigo solo algunos de los valores en la cadena de consulta.

Por ejemplo, esto falla ...

/myCalendar?c=calendarName&l=location&i=calendarId&loc=locationId&s=calendarEvent&a=eventId&t=epochTime

... pero esto pasa:

/myCalendar?c=calendarName&l=BMJErIH4Mku4HwdHyuX2XA&i=84Rza73ERUmRGb99NWZytw&loc=locationId&s=calendarEvent&a=odH1gBRnH0moh5YN4tgczw&t=157963549

Si modifico la solicitud que pasa reemplazando el epochTime codificado con el parámetro que apunta al archivo .csv, aparece el siguiente error:

El servidor encontró un error al procesar la solicitud. El mensaje de excepción es ''El valor no puede ser nulo. Nombre del parámetro: edate

Si devuelvo epochTime a su valor codificado y sustituyo los otros tres valores codificados con sus parámetros asociados, aparece el siguiente error:

El servidor encontró un error al procesar la solicitud. El mensaje de excepción es ''mala conversión de base64 a GUID

Me doy cuenta de que esto puede ser un problema completamente diferente, pero estos valores funcionan cuando están codificados en la cadena de consulta, por lo que no entiendo por qué no funcionarían si se extraen de un archivo .csv.

Finalmente, vale la pena señalar que tengo casos de prueba de un solo parámetro que funcionan con la siguiente sintaxis donde ''Cumpleaños'' es una variable definida por el usuario como se muestra a continuación. He descubierto que el uso de esta sintaxis en una cadena de consulta con múltiples variables arroja una excepción en el primer carácter ''{''.

myCalendar/${Birthday}

¡Cualquier ayuda sería muy apreciada!