2013-08-10 11 views
6

Sto usando il campionatore Jmeter versione 2.9, HTTP per testare i miei servizi di resto.Jmeter 2.9 HTTP Sampler per PUT non passa i parametri

GET e POST funzionano senza problemi, dove PUT non sta trasmettendo alcun parametro nella richiesta al server.

Ho verificato con i risultati di visualizzazione in albero.

Qualsiasi motivo sul motivo per cui questo sta accadendo e aggirare questo problema?

risposta

1

parametri passano in campo del percorso utilizzando:?

nome = valore & nome2 = valore2

e corpo nel corpo crudo Post. se non funziona segnala un bug.

Esempio:

enter image description here

0

In primo luogo, provare a consultare i registri.

Aveva un problema simile. Stavo usando erroneamente il campo "Content-enconding" come se fosse il parametro di tipo di contenuto HTTP Content-Type. Non sono correlati

Se è necessario impostare Content-Type = application/json, è necessario utilizzare un elemento di configurazione "HTTP Header Manager".

Dopo aver impostato correttamente Content-enconding su UTF-8, la richiesta di inserimento ha iniziato a funzionare.

jmeter

0

Si dovrebbe aggiungere un parametro con un nome vuoto (nella scheda "parametri").

Se il problema persiste, utilizzare la vista ad albero dei risultati per analizzare le impostazioni della richiesta.

4

Ha funzionato per me. Sulla base di quello che ho letto su internet, ci sono stati diverse soluzioni suggerite:

  • Modifica Content-Encoding a UTF-8
  • Passare i parametri PUT nella scheda "Dati corpo" (in contrapposizione a passarli in tabellare formato nella scheda "parametri")
  • Impostazione Content-Type intestazione per application/json nel HTTP Header Direttore
  • Passando i parametri tramite un file (anche se questo dovesse funzionare, come si dovrebbe passare valori dinamici?)
  • passandolo come POST con una combinazione di punti sopra.

cosa ha funzionato per me è questa combinazione: Set tipo di contenuto application/json + parametri passare come "JSON" nei dati corpo scheda ** (di seguito è un esempio)

Non ho bisogno di specificare UTF-8 o qualsiasi altra cosa.

ESEMPIO JSON PARAMETRO CORPO: { "title": "JMeterTitle", "preMortar": "JMeterPre", "postMortar": "JMeterPost"}

0

sto utilizzando JMeter 2.13 e affrontare con problemi simili. Questo è come ho risolto:

  • Impostazione Content-Type intestazione per text/plain nel HTTP Header Direttore
  • Modifica Content-Encoding a UTF-8
  • Nella scheda parametri, aggiungere i parametri senza nome e separati con carattere di e commerciale (&)

Screenshot JMeter PUT request example

Speranza che aiuta!

+0

[Link al JMeter-archivio] (http://www.jmeter-archive.org/How-to-send-HTTP-PUT-request-using -Jmeter-td5719869.html # a5726673) – bishop

0

Sto usando JMeter 2.11 e ho avuto lo stesso problema. Ho risolto in questo modo:

1) Impostazione intestazione Content-Type simile a quella che si sta utilizzando nel proprio metodo API (Esempio: application/json o application/x-www-form-urlencoded ecc.) Nel Gestore intestazione HTTP.

2) Nella richiesta HTTP. dati Corpo dovrebbe assomigliare a questa:

KEY=VALUE&KEY=VLAUE&KEY=VLAUE&KEY=VLAUE.......