jMeter - Elementi del piano di test

Un piano di test JMeter comprende gli elementi di test discussi di seguito. Un piano di test comprende almeno un gruppo di thread. All'interno di ogni gruppo di thread, possiamo inserire una combinazione di uno o più di altri elementi: campionatore, controller logico, elemento di configurazione, ascoltatore e timer. Ogni Sampler può essere preceduto da uno o più elementi Pre-processore, seguito da un elemento Post-processore e / o da un elemento Assertion. Vediamo in dettaglio ciascuno di questi elementi:

Gruppo thread

Gli elementi del gruppo thread sono i punti di inizio del piano di test. Come suggerisce il nome, gli elementi del gruppo thread controllano il numero di thread che JMeter utilizzerà durante il test. Possiamo anche controllare quanto segue tramite il gruppo thread:

  • Impostazione del numero di thread

  • Impostazione del tempo di accelerazione

  • Impostazione del numero di iterazioni di test

Il pannello di controllo del gruppo di thread ha questo aspetto:

Il pannello Thread Group contiene i seguenti componenti:

  • Action to be taken after a Sampler error - Nel caso in cui si verifichi un errore durante l'esecuzione del test, puoi lasciare che il test -

    • Continue all'elemento successivo del test

    • Stop Thread per interrompere il thread corrente.

    • Stop Test completamente, nel caso in cui si desideri esaminare l'errore prima che continui a funzionare.

  • Number of Threads - Simula il numero di utenti o connessioni all'applicazione server.

  • Ramp-Up Period Definisce quanto tempo impiegherà JMeter per far funzionare tutti i thread.

  • Loop Count - Definisce il numero di volte per eseguire il test.

  • Scheduler checkbox - Una volta selezionata, la sezione Configurazione pianificazione viene visualizzata nella parte inferiore del pannello di controllo.

  • Scheduler Configuration - È possibile configurare l'ora di inizio e di fine dell'esecuzione del test.

Controller

JMeter ha due tipi di controller: campionatori e controller logici .

Campionatori

I campionatori consentono a JMeter di inviare tipi specifici di richieste a un server. Simulano una richiesta utente per una pagina dal server di destinazione. Ad esempio, è possibile aggiungere un campionatore di richieste HTTP se è necessario eseguire un POST, GET o DELETE su un servizio HTTP.

Alcuni utili campionatori sono:

  • Richiesta HTTP
  • Richiesta FTP
  • Richiesta JDBC
  • Richiesta Java
  • Richiesta SOAP / XML
  • Richieste RPC

Lo screenshot seguente mostra un pannello di controllo del campionatore di richieste HTTP -

Controller logici

I controller logici consentono di controllare l'ordine di elaborazione dei campionatori in un thread. I controller logici possono modificare l'ordine di una richiesta proveniente da qualsiasi elemento figlio. Alcuni esempi sono: ForEach Controller, While Controller, Loop Controller, IF Controller, Run Time Controller, Interleave Controller, Throughput Controller e Run Once Controller.

La seguente schermata mostra un pannello di controllo del controller di loop:

Il seguente elenco è costituito da tutti i controller logici forniti da JMeter:

  • Controller semplice
  • Controller di loop
  • Once Only Controller
  • Controller interleave
  • Controller casuale
  • Controller ordine casuale
  • Throughput Controller
  • Controller di runtime
  • Se Controller
  • Mentre Controller
  • Switch Controller
  • ForEach Controller
  • Controller del modulo
  • Includi controller
  • Controller delle transazioni
  • Controller di registrazione

Frammenti di prova

Un frammento di prova è un tipo speciale di elemento posizionato allo stesso livello dell'elemento gruppo thread. Si distingue da un gruppo di thread in quanto non viene eseguito a meno che non sia referenziato da un controller del modulo o da un include_controller. Questo elemento serve esclusivamente per il riutilizzo del codice all'interno dei piani di test.

Ascoltatori

I listener ti consentono di visualizzare i risultati di Samplers sotto forma di tabelle, grafici, alberi o testo semplice in alcuni file di registro. Forniscono accesso visivo ai dati raccolti da JMeter sui casi di test mentre viene eseguito un componente Sampler di JMeter.

Gli ascoltatori possono essere aggiunti ovunque nel test, anche direttamente sotto il piano di test. Raccoglieranno dati solo da elementi al loro livello o al di sotto di esso. Il seguente elenco comprende tutti gli ascoltatori forniti da JMeter:

  • Configurazione di salvataggio dei risultati di esempio
  • Risultati completi del grafico
  • Risultati grafici
  • Visualizzatore spline
  • Risultati dell'asserzione
  • Visualizza albero dei risultati
  • Rapporto aggregato
  • Visualizza i risultati nella tabella
  • Semplice scrittore di dati
  • Monitorare i risultati
  • Grafico di distribuzione (alfa)
  • Grafico aggregato
  • Mailer Visualizer
  • BeanShell Listener
  • Relazione di sintesi

Timer

Per impostazione predefinita, un thread JMeter invia richieste senza interruzioni tra ogni campionatore. Questo potrebbe non essere quello che vuoi. È possibile aggiungere un elemento timer che consente di definire un periodo di attesa tra ogni richiesta.

Il seguente elenco mostra tutti i timer forniti da JMeter:

  • Timer costante
  • Timer casuale gaussiano
  • Timer casuale uniforme
  • Timer di throughput costante
  • Sincronizzazione del timer
  • JSR223 Time
  • BeanShell Time
  • Ora BSF
  • Poisson Random Time

Lo screenshot seguente mostra un pannello di controllo del timer costante:

Asserzioni

Le asserzioni consentono di includere alcuni test di convalida sulla risposta della richiesta effettuata utilizzando un campionatore. Utilizzando le asserzioni puoi dimostrare che la tua applicazione sta restituendo i dati corretti. JMeter evidenzia quando un'asserzione fallisce.

Il seguente elenco comprende tutte le affermazioni fornite da JMeter:

  • Beanshell Assertion
  • Asserzione BSF
  • Confronta asserzione
  • Asserzione JSR223
  • Asserzione di risposta
  • Asserzione di durata
  • Asserzione di dimensioni
  • Asserzione XML
  • Asserzione BeanShell
  • Asserzione MD5Hex
  • Asserzione HTML
  • Asserzione XPath
  • Asserzione dello schema XML

Lo screenshot seguente mostra un pannello di controllo dell'asserzione delle risposte:

Elementi di configurazione

Gli elementi di configurazione consentono di creare valori predefiniti e variabili da utilizzare con i campionatori. Sono usati per aggiungere o modificare le richieste fatte da Samplers.

Vengono eseguiti all'inizio dell'ambito di cui fanno parte, prima di qualsiasi Campionatore che si trova nello stesso ambito. Pertanto, un elemento di configurazione è accessibile solo dall'interno del ramo in cui è posizionato.

Il seguente elenco è costituito da tutti gli elementi di configurazione forniti da JMeter:

  • Counter
  • Config. Set di dati CSV
  • Default richiesta FTP
  • Gestore autorizzazioni HTTP
  • HTTP Cache Manager
  • HTTP Cookie Manager
  • Server proxy HTTP
  • Default richiesta HTTP
  • HTTP Header Manager
  • Default richiesta Java
  • Configurazione del keystore
  • Configurazione connessione JDBC
  • Elemento di configurazione dell'accesso
  • Impostazioni predefinite della richiesta LDAP
  • Impostazioni predefinite richieste estese LDAP
  • TCP Sampler Config
  • Variabili definite dall'utente
  • Semplice elemento di configurazione
  • Variabile casuale

Elementi pre-processore

Un elemento pre-processore è qualcosa che viene eseguito appena prima dell'esecuzione di un campionatore. Sono spesso utilizzati per modificare le impostazioni di una richiesta di esempio appena prima che venga eseguita o per aggiornare le variabili che non vengono estratte dal testo della risposta.

Il seguente elenco è costituito da tutti gli elementi pre-processore forniti da JMeter:

  • Parser link HTML
  • Modificatore di riscrittura URL HTTP
  • Modificatore parametro utente HTTP
  • Parametri utente
  • JDBC PreProcessor
  • PreProcessor JSR223
  • Parametri utente RegEx
  • BeanShell PreProcessor
  • PreProcessore BSF

Elementi post-processore

Un post-processore viene eseguito dopo che un campionatore termina la sua esecuzione. Questo elemento viene spesso utilizzato per elaborare i dati di risposta, ad esempio, per recuperare un valore particolare per un uso successivo.

Il seguente elenco è costituito da tutti gli elementi post-processore forniti da JMeter:

  • Estrattore di espressioni regolari
  • XPath Extractor
  • Gestore azione stato risultato
  • PostProcessor JSR223
  • PostProcessor JDBC
  • PostProcessor BSF
  • CSS / JQuery Extractor
  • PostProcessor BeanShell
  • Debug PostProcessor

Ordine di esecuzione degli elementi di test

Di seguito è riportato l'ordine di esecuzione degli elementi del piano di test:

  • Elementi di configurazione
  • Pre-Processors
  • Timers
  • Sampler
  • Post-processori (a meno che SampleResult non sia nullo)
  • Asserzioni (a meno che SampleResult non sia null)
  • Listener (a meno che SampleResult non sia null)