Processore in JMeter: PreProcessor & PostProcessor

Sommario:

Anonim

Un processore viene utilizzato per modificare i campionatori nel loro ambito.

Esistono 2 tipi di processori:

  1. Pre-processore
  2. Post-processore

Pre-processore:

Il pre-processore esegue alcune azioni prima di effettuare la richiesta del campionatore.

Considera un semplice esempio: supponiamo che tu voglia che JMeter "ragno" attraverso il sito web in prova, analizzi il link (controlla tutti i link nella pagina) e restituisca l'HTML. Dovresti aggiungere alcune azioni come "HTML link parser" al tuo controller prima di creare una richiesta HTTP.

Post-processore:

Il post-processore esegue alcune azioni dopo aver effettuato una richiesta di campionatore.

Considera un semplice esempio: JMeter invia una richiesta HTTP al server web in prova (ecc. Www.google.com) e ottiene la risposta. Si desidera che JMeter interrompa il test se la risposta del server è un errore. È possibile utilizzare il post-processore per eseguire l'attività sopra come segue:

Esempio di post processore

Questo tutorial ti mostrerà le istruzioni dettagliate su come utilizzare Post-processor in JMeter. Cominciamo con il semplice script di test.

  1. JMeter invia una richiesta HTTP al server web sotto test www.google.com.
  2. JMeter riceve una risposta dal server di Google.
  3. Se la risposta del server è un errore , JMeter interromperà il test.
  4. Se la risposta del server è OK (nessun errore), JMeter continuerà il test.

Ecco la tabella di marcia di questo esempio:

Presupposto:

Abbiamo ri-utilizziamo la Fase 1 e Fase 2 nell'articolo JMeter Performance Testing.

Passaggio 1) Aggiungi gruppo di thread

Fare clic con il pulsante destro del mouse sul piano di test e aggiungere un nuovo gruppo di thread: Aggiungi -> Thread (utenti) -> Gruppo di thread

Ma nel pannello di controllo del gruppo di thread, inserisci le proprietà del thread come segue:

Questa impostazione consente a JMeter di creare 10 richieste utente a http://www.google.com 10 volte.

Passaggio 2) Aggiungi elementi JMeter

  • Aggiungi la richiesta HTTP predefinita
  • Aggiungi richiesta HTTP

Facciamo comunque in modo che JMeter invii la richiesta http://www.google.com al server di Google.

Passaggio 3) Aggiungi elemento post-processore

Fare clic con il pulsante destro del mouse su Gruppo thread -> Aggiungi -> Post processore -> Gestore azione stato risultato

Risultato Stato Azione Gestore consente all'utente di interrompere il thread o l'intero test se la richiesta dell'utente non è riuscita.

Nel riquadro di gestione dell'azione dello stato dei risultati, scegliere Interrompi test ora . Questa selezione interromperà il test se JMeter riceve l'errore dalla risposta del server.

Passaggio 4) Configura la richiesta HTTP

Apri il pannello delle richieste HTTP. Immettere "abc" nel campo Path.

Quando inserisci "abc" nel percorso, JMeter creerà una richiesta URL al server di Google: http://www.google.com/abc. Questo URL non esiste sul server di Google. È una richiesta URL errata, quindi il server di Google restituirà un errore.

Passaggio 5) Aggiungere la struttura ad albero dei risultati di visualizzazione

Fare clic con il pulsante destro del mouse su Gruppo thread -> Aggiungi -> Listener -> Visualizza albero dei risultati

Passaggio 6) Eseguire il test

Selezionare Visualizza albero dei risultati, premere il pulsante Esegui sulla barra dei menu. Vedrai la risposta di errore dal server di Google e il test si interromperà senza aver completato 100 thread.

Ora torna al passaggio 4, apri il riquadro Richieste HTTP, inserisci " calendario " nel riquadro. Fa in modo che JMeter crei la richiesta URL https://calendar.google.com/calendar/u/0/r al server di Google. Questa è la richiesta URL corretta, quindi il server di Google restituirà OK (nessun errore).

Selezionare Visualizza albero dei risultati, premere il pulsante Esegui sulla barra dei menu. Vedrai la risposta OK dal server di Google e il test continuerà fino al completamento di tutti i 100 thread.

Risoluzione dei problemi:

Se il problema si verifica durante l'esecuzione dello scenario precedente ... procedi come segue:

  1. Controlla se ti stai connettendo a Internet tramite un proxy. In caso affermativo, rimuovere il proxy.
  2. Apri una nuova istanza di Jmeter
  3. Apri ProcessorTestPlan.jmx in Jmeter
  4. Fare doppio clic su Gruppo thread -> Visualizza albero dei risultati
  5. Esegui il test