Record di un test plan con JMeter

  • Di
  • 2022-06-16 - 4 minuti
banner

Nel precedente articolo abbiamo visto che cos’è un test plan e come crearne uno: ma come fare per registrare tutte le request di un’applicazione web senza doverle inserire manualmente?

Vediamo oggi come effettuare il record di un test plan in JMeter!

Cosa vedrai

L’ultima versione attualmente disponibile è la 5.4.3: clicca qui per scaricarla!

Come funziona

Vediamo velocemente come funziona JMeter per la parte di recording anche grazie alla figura sottostante, che ne riassume il flusso.

Sfruttando un proprio proxy, tutte le request passano attraverso il server JMeter e questo elabora e registra le request che lo attraversano.

In questo modo, va a salvare diversi oggetti (come dei sampler di tipo HTTP request) e crea un test plan che registrerà tutte le richieste. Quando avremo finito e interrotto, il test plan sarà disponibile per l’utente, che potrà configurarlo e riutilizzarlo.

Le request arriveranno comunque all’applicazione, la quale troverà totalmente trasparente questo passaggio.

Procedimento

Dopo aver installato l’ultima versione di JMeter, lo apriamo cliccando sul file .bat (se siamo su Windows) o sul file .sh (se siamo su sistemi Unix):

Struttura della cartella di JMeterStruttura della cartella di JMeter

A questo punto, clicchiamo in alto a destra sull’icona che rappresenta l’opzione “Recording template”.

Icona “Recording template” Icona “Recording template”

Questo ci permetterà di sfruttare diversi oggetti messi a nostra disposizione, come ad esempio per registrare il traffico generato durante la navigazione di un sito web.

Si aprirà una schermata come la seguente, dove in questo caso andremo a scegliere “Recording” e cliccheremo su “Create”:

Selezione del template “recording” in JMeterSelezione del template “recording” in JMeter

Ci verrà chiesto di inserire delle informazioni di base, come il sito d cui vogliamo registrare il traffico e il file .xml dove andare a salvare l’output: inseriamo quindi il nostro sito e clicchiamo su “Create”.

Configurazione del recording di un test plan Configurazione del recording di un test plan

Verrà creato un test plan con diversi oggetti al suo interno: quello che ci interessa adesso è quello che si chiama “HTTP(S) Test Script Recorder”.

Prima di cominciare, assicurati di aver chiuso il browser che vuoi utilizzare per registrare il traffico e apri questo tutorial su un altro browser ;) Altrimenti, potresti riscontrare diversi errori e la registrazione non verrebbe effettuata!

Lo abilitiamo cliccando con il pulsante destro e selezionando l’opzione “Enable” e poi clicchiamo sul pulsante “Start” per avviare la registrazione.

Componente “HTTP(S) Test Script Recorder” in JMeter Componente “HTTP(S) Test Script Recorder” in JMeter

Abilitiamo il componente “HTTP(S) Test Script Recorder” in JMeter Abilitiamo il componente “HTTP(S) Test Script Recorder” in JMeter

Quando i test vengono registrati tramite questo componente, è normale che molte delle request acquisite non siano necessarie.

Per questo è molto importante filtrare tutte le request che non ci interessano; un esempio sono le request che scaricano file CSS o le _request_che scaricano tutte le immagini di una pagina che non sono utili -eventualmente- ai fini del test.

Ciò renderà il piano di test più performante ed efficace.

È possibile specificare un pattern che esclude le estensioni di file che non devono essere incluse nella registrazione sfruttando il tab “Requests Filtering”, come mostrato di seguito:

Tab “Requests Filtering” del componente “HTTP(S) Test Script Recorder” in JMeter Tab “Requests Filtering” del componente “HTTP(S) Test Script Recorder” in JMeter

Per i test di carico, ad esempio, si consiglia di escludere fogli di stile, file Javascript (quelli non funzionali, ma solo quelli correlati alle funzionalità di stile), allegati e così via.

A seconda dell’applicazione testata, questo potrebbe essere un modo migliore per procedere, quindi il suggerimento è di fare riferimento alla documentazione fornita per i test di carico e stress e definire correttamente i filtri.

Attenzione: prima di cominciare con la registrazione, ci verrà mostrata una finestra che ci richiederà di aggiungere il certificato di JMeter al browser. Aggiungiamolo prima di procedere con il recording!

Un file chiamato ApacheJMeterTemporaryRootCA.crt verrà generato nella cartella JMETER_HOME/bin. Installa questo certificato nel tuo browser e poi avvia il tuo browser (l’esempio seguente utilizza Firefox) configurando il proxy.

In questo caso, clicca su scegli Tool>Option>Advanced>Network>Setting>Enter HTTP proxy come nella figura seguente e configura un proxy in ascolto su localhost sulla porta 8888:

Configurazione del proxy in Firefox Configurazione del proxy in Firefox

Una volta che avremo finito questi step e la registrazione sarà iniziata, potremo aprire il browser e iniziare a navigare il sito, compiendo tutti gli step di cui vogliamo che venga registrato e salvato il traffico.

JMeter andrà a salvare ogni request nell’esatto ordine in cui lo andiamo ad eseguire, quindi seguiamo il test che abbiamo in mente.

Una volta terminato, interrompiamo la registrazione cliccando sullo “stop” del popup di JMeter e ci troveremo, all’interno del componente “View Results Tree”, tutte le request registrate:

Request registrate Elenco request registrate

A questo punto, potremo modificare tutte le componenti presenti all’interno del thread group, che corrisponderanno a tutte le request registrate dal proxy di JMeter.

Quando avremo terminato, potremo andare a eseguire il test plan come faremmo di consueto, e quindi cliccando sul pulsante “Start” in alto in verde!

L’esecuzione del test plan mostrerà i suoi risultati all’interno del listener presente di default “View Results Tree”:

Esempio di esecuzione di un test plan in JMeter Esempio di esecuzione di un test plan in JMeter

Post correlati

Partners

Community, aziende e persone che supportano attivamente il blog

Logo di Codemotion
Logo di GrUSP
Logo di Python Milano
Logo di Schrodinger Hat
Logo di Python Biella Group
Logo di Fuzzy Brains
Logo di Django Girls
Logo di Improove
Logo del libro open source

Iscriviti alla newsletter

Per non perderti gli ultimi articoli e per vincere biglietti e gadget TheRedCode

Riceverai una volta al mese (o anche meno) gli articoli più interessanti pubblicati sul blog, e potrai provare a vincere un biglietto per uno dei prossimi eventi!

Andiamo!