Cos'è Element in JMeter?
I diversi componenti di JMeter sono chiamati Elements. Ogni elemento è progettato per uno scopo specifico.
La figura seguente fornisce alcuni elementi comuni in JMeter.
Studiare tutti i componenti in una volta sola è un invito alla confusione e alla noia. Qui, discuteremo i componenti indispensabili prima di poter iniziare a testare in JMeter.
I componenti rimanenti verranno discussi come quando vengono utilizzati nelle esercitazioni successive. Gli elementi discussi in questo tutorial sono
- Gruppo thread
- Campionatori
- Ascoltatori
- Configurazione
Gruppo thread
Thread Groups è una raccolta di thread. Ogni thread rappresenta un utente che utilizza l'applicazione sotto test. Fondamentalmente, ogni thread simula una richiesta utente reale al server.
I controlli per un gruppo di thread consentono di impostare il numero di thread per ogni gruppo.
Ad esempio, se imposti il numero di thread su 100; JMeter creerà e simulerà 100 richieste utente al server sottoposto a test
Campionatori
Come sappiamo già, JMeter supporta i test HTTP, FTP, JDBC e molti altri protocolli.
Sappiamo già che i gruppi di thread simulano la richiesta dell'utente al server
Ma come fa un gruppo di thread a sapere quale tipo di richieste (HTTP, FTP ecc.) Deve effettuare?
La risposta è Samplers
La richiesta dell'utente potrebbe essere richiesta FTP, richiesta HTTP, richiesta JDBC ... ecc.
Richiesta FTP:
Immaginiamo di voler testare le prestazioni di un server FTP. È possibile utilizzare un campionatore di richieste FTP in JMeter per eseguire questa attività. Questo controller consente di inviare una richiesta FTP "download file" o "upload file" a un server FTP.
Ad esempio, se vuoi scaricare un file "Test.txt" da un server FTP in prova, devi configurare alcuni parametri in JMeter come nella figura sotto
JMeter invierà il comando FTP al server FTP ftp.example.com, quindi scaricherà un file Test.txt da quel server.
Richiesta HTTP:
Questo campionatore ti consente di inviare una richiesta HTTP / HTTPS a un server web.
Considera l'esempio di seguito. JMeter invia una richiesta HTTP al sito Web di Google e recupera i file HTML o l'immagine da questo sito Web.
Nel tutorial JMeter Performance Testing, spiegheremo di più su questa richiesta HTTP.
Richiesta JDBC:
Questo campionatore consente di eseguire il test delle prestazioni del database. Invia una richiesta JDBC (una query SQL) a un database.
Ad esempio, un server di database ha un campo test_result memorizzato in una tabella di nome test_tbl. Si desidera eseguire una query su questi dati dal server del database; è possibile configurare JMeter per inviare una query SQL a questo server per recuperare i dati.
Campionatore BSF:
Questo campionatore consente di scrivere un campionatore utilizzando un linguaggio di scripting BSF.
Ecco un esempio di BSF Sampler in JMeter
Campionatore registro di accesso:
Questo campionatore consente di leggere i log di accesso e generare richieste HTTP. Il registro potrebbe essere immagine, Html, CSS ...
Campionatore SMTP:
Se desideri testare un server di posta, puoi utilizzare il campionatore SMTP. Questo campionatore viene utilizzato per inviare messaggi di posta elettronica utilizzando il protocollo SMTP.
Ascoltatori
Listener: mostra i risultati dell'esecuzione del test. Possono mostrare i risultati in un formato diverso come un albero, una tabella, un grafico o un file di registro
I listener dei risultati del grafico visualizzano i tempi di risposta del server su un grafico
La struttura di visualizzazione dei risultati mostra i risultati della richiesta dell'utente nel formato HTML di base
Risultato tabella mostra il riepilogo di un risultato del test in formato tabella
Il registro mostra il riepilogo dei risultati di un test nel file di testo
Elementi di configurazione
impostare valori predefiniti e variabili per un uso successivo da parte dei campionatori.
La figura seguente mostra alcuni elementi di configurazione comunemente usati in JMeter
Configurazione del set di dati CSV:
Supponi di voler testare un sito Web per 100 utenti che accedono con credenziali diverse. Non è necessario registrare lo script 100 volte! È possibile parametrizzare lo script per immettere diverse credenziali di accesso. Queste informazioni di accesso (es. Nome utente, password) potrebbero essere memorizzate in un file di testo. JMeter ha un elemento che ti permette di leggere diversi parametri da quel file di testo. È "CSV Data Set Config", che viene utilizzato per leggere le righe da un file e dividerle in variabili.
Questo è un esempio di dati CSV. È un file di testo che contiene utente e password per accedere al tuo sito web di destinazione
HTTP Cookie Manager
Capiamolo con un esempio:
Hai utilizzato il tuo browser (Firefox, IE… Etc) per navigare su www.google.com
Accedi con il tuo utente e la tua password.
Il nome utente e la password verranno memorizzati nel computer come cookie.
La prossima volta, quando visiti www.google.com, non è necessario eseguire nuovamente l'accesso perché il tuo browser utilizzerà i tuoi cookie come dati utente per accedere.
HTTP Cookie Manager ha anche la stessa funzionalità di un browser web. Se hai una richiesta HTTP e la risposta contiene un cookie, il Cookie Manager memorizza automaticamente quel cookie e lo utilizzerà per tutte le richieste future a quel particolare sito web.
Default richiesta HTTP
Questo elemento consente di impostare i valori predefiniti utilizzati dai controller delle richieste HTTP.
Per esempio,
Stai inviando 100 richieste HTTP al server google.com
Dovresti inserire manualmente il nome del server = google.com per tutte queste 100 richieste
Invece, potresti aggiungere una singola richiesta HTTP predefinita con il campo "Nome server o IP" = google.com
Non c'è bisogno di digitare 100 volte!
Questo elemento verrà spiegato in dettaglio nel tutorial JMeter Performance Testing
Elemento di configurazione dell'accesso
L'elemento di configurazione dell'accesso consente di aggiungere o sovrascrivere le impostazioni di nome utente e password nei campionatori.
Ad esempio, si desidera simulare l'accesso di un utente al sito Web www.facebook.com con utente e password. È possibile utilizzare l'elemento di configurazione dell'accesso per aggiungere questa impostazione utente e password in una richiesta utente
L'elemento di configurazione dell'accesso e il file di configurazione dei dati CSV
Elemento di configurazione dell'accesso |
Configurazione dati CSV |
---|---|
Utilizzato per simulare un accesso utente |
Utilizzato per simulare l'accesso di più utenti |
Adatto solo per il parametro di accesso (utente e password) |
Adatto per un gran numero di parametri |