2014-12-24 16 views
18

Sto provando a creare 10 utenti contemporaneamente in Jmeter, usando le API REST. Dati di test, ovvero l'input è preso da file CSV (i dettagli di utenti come nome utente, cognome, cellulare)In Jmeter, quale sarebbe la sintassi dei parametri nella sezione Dati corpo del campionatore di richieste HTTP, se sto usando le API di rest e sto prendendo input dai file CSV?

Per questo ho aggiunto un gruppo di thread, variabile definita dall'utente, HTTP Header Manager, HTTP Request Sampler (che eseguire l'accesso con successo nell'applicazione web), JSON PATH EXTRACTOR (per estrarre il token di autenticazione, che verrà utilizzato durante l'aggiunta dell'utente)

Per aggiungere utente, ho utilizzato un "controller di loop" - "campionatore di richieste HTTP" - intestazione HTTP Manager, CSV Data Set Config.

E per tenere traccia dei risultati, visualizzare la struttura dei risultati e il rapporto aggregato.

Per favore dimmi quale sarebbe la sintassi dei parametri che sto passando nella sezione "Dati del corpo" del campionatore Richiesta HTTP, in modo che possa leggere i valori dai file CSV.

Di seguito è riportata la sintassi che sto utilizzando ora per aggiungere un singolo utente.

{ 
    "phoneNo": "9998885551", 
    "lastName": "john25", 
    "email": "[email protected]", 
    "firstName": "ricky25", 
    "mobileNo": "9820420420" 
} 

risposta

37

Se il file CSV si presenta come:

9998885551,john25,[email protected],ricky25,9820420420 
9998885552,john26,[email protected],ricky26,9820420421 
.... 

configurazione dovrebbe essere la seguente:

  • Nome file: percorso completo la vostra fonte .csv
  • Nomi di variabili: phone,lastname,email,firstname,mobile
  • Delimitatore: ,

Compilare altri valori in base allo scenario di test, ad esempio se si desidera che il test si fermi su file .csv o giri di nuovo o qualsiasi altra cosa.

CSV Config

e la tua richiesta HTTP dovrebbe essere simile:

Using CSV Variables in HTTP Request

Il punto principale è che le variabili definite nel Set Config dati CSV devono corrispondere a quelli nella richiesta HTTP.

Vedere la guida Using CSV DATA SET CONFIG per istruzioni dettagliate.

consiglierei anche di aggiungere la seguente voce al vostro HTTP Header Responsabile:

  • Nome: Content-Type
  • Valore: application/json

elsewise la tua richiesta verrà trattata come testo normale e può fallire.

Inoltre, non dimenticare di disattivare il listener Albero dei risultati di visualizzazione per l'esecuzione del test di carico effettivo poiché consuma molte risorse e può portare a errori di memoria insufficiente sul lato JMeter.

+0

Grazie mille :) funziona perfettamente. – abhishek

2

Inoltre, se i dati formparam \ corpo contiene più parametri come questo:

UserName=abc password=abc123,

Invece di create due colonne nome utente e password, può essere somministrato in un'unica colonna come questo:

UserName=abc&password=abc123

In questo modo è possibile scorrere multipla \ URL differenti che prende un diverso numero di bodydata

E.g .: Se l'URL1 accetta solo il nome utente come dati del corpo e l'URL2 prende il nome utente & come dati del corpo, quanto sopra sarà una soluzione facile.