2012-06-28 54 views
7

Desarrollé un servidor de reposo y lo puse en funcionamiento en localhost, y estoy tratando de realizar pruebas con JMeter, enviando peticiones y publicaciones (depende del método llamado).cómo enviar parámetros application/x-www-form-urlencoded a RestServer con JMeter?

Ya envié al servidor de reposo y obtuve el resultado con JMeter en solicitudes simples, recibo solicitudes, envío de archivos con publicación y envío de un Json con publicación.

Pero no sé cómo enviar un objeto Form-UrlEncoded al servidor. El servidor My Rest consume "application/x-www-form-urlencoded" y necesito enviar tres parámetros String.

¿Existe alguna forma de establecer MimeType para cada parámetro y realizar la prueba?

estoy usando Jmeter 2,7

  • actualización -

He resuelto mediante la desactivación de este "uso multipart/form-data para el puesto, y que permite "redirigir automáticamente" en lugar" sigo redirigir ". Los parámetros que puse normalmente en la tabla" Enviar parámetros con la Solicitud "con cada nombre respectivo.

Respuesta

2

Ha intentado guardar su prueba usando BadBoy o JMeter Proxy para ver lo que realmente envía tu aplicación?

Para ver lo que ocurre debajo del cofre también puedes usar FireBug si estás usando FireFox o Ctrl+Shift+i si estás en Chrome.

8

Para enviar parámetros de formulario como application/x-www-form-urlencoded, agregue un parámetro de encabezado Content-Type con value application/x-www-form-urlencoded.

Los siguientes pasos es APLICABLE para Jmeter 2.3.4

  1. añadir una cabecera HTTP Gestor debajo de la petición HTTP.
  2. Agregue un nuevo parámetro a HTTP Header Manager con el nombre Content-Type y value application/x-www-form-urlencoded.
  3. Desmarque "Usar datos multipart/form para HTTP POST" de la solicitud HTTP.
  4. Desmarcar "¿Codificar?" de cada parámetro de solicitud (no es necesario).
  5. mantiene "Content Encode:" cuadro de texto de la solicitud HTTP como vacío.

    Esto no funcionará para la solicitud PUT. Para la solicitud de envío agregue parámetros como parámetro de ruta y configure el encabezado Content-Type, entonces Jmeter lo hará por sí mismo.

-1

siguieron los pasos exactos de mencionar todavía veo una excepción lanzada

Código de respuesta: no código de respuesta HTTP: java.nio.charset.IllegalCharsetNameException mensaje de Respuesta: mensaje de falta de respuesta HTTP:/aplicación x-www-form-urlencoded

java.nio.charset.IllegalCharsetNameException: application/x-www-form-urlencoded 
    at java.nio.charset.Charset.checkName(Charset.java:315) 
    at java.nio.charset.Charset.lookup2(Charset.java:484) 
    at java.nio.charset.Charset.lookup(Charset.java:464) 
    at java.nio.charset.Charset.forName(Charset.java:528) 
    at org.apache.http.entity.ContentType.create(ContentType.java:210) 
    at org.apache.http.entity.StringEntity.<init>(StringEntity.java:116) 
    at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sendPostData(HTTPHC4Impl.java:1340) 
    at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.handleMethod(HTTPHC4Impl.java:592) 
    at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:409) 
    at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:74) 
    at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1166) 
    at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1155) 
    at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:475) 
    at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:418) 
    at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:249) 
    at java.lang.Thread.run(Thread.java:745) 
+0

Funciona después de haber actualizado de JMeter 3.1 a 3.2 –

+0

Esta no es una respuesta a la pregunta en cuestión. O tómalo para chatear o publica una nueva pregunta que se refiera a este. – jdv

+0

Es una respuesta, ¿no es así? –

2

Así es la solución para HTTP POST con pruebas x-www-form-urlencoded con jmeter. Solo sigues así. enter image description here

enter image description here

enter image description here

Ir al Tema Grupo -> Añadir oyente -> vistas de resultados en la tabla, vista de árbol resultado. Para ver el proceso de respuesta.

0

IllegalCharsetNameException irá inmediatamente solo después de agregar el tipo de contenido requerido en HTTP Header Manager para la solicitud HTTP.

Espero que esto ayude.

Cuestiones relacionadas