how use preprocessors jmeter
In questo tutorial imparerai a usare JMeter PreProcessor e come funzionano PreProcessors come SampleTimeOut, UserParameter, HTMLLinkParser, ecc.
PreProcessor esegue sempre l'azione prima della richiesta Sampler.
Di seguito è riportato l'elenco dei PreProcessor utilizzati in JMeter:
- Parametri utente
- Timeout del campione
- Preprocessore JSR223
- Preprocessore JDBC
- Bean Shell Preprocessor
- Parser link HTML
- Modificatore di riscrittura URL HTML
- Parametri utente RegEx
=> Fare clic qui per La formazione gratuita completa su JMeter (oltre 20 video)
Cosa imparerai:
Tutorial video su JMeter PreProcessor
I preProcessori sono azioni che vengono eseguite prima che il campionatore effettivo venga eseguito in JMeter. Potrebbe essere qualcosa come memorizzare i valori di una variabile, definire timeout, ecc. Il preprocessore può essere aggiunto a livello di gruppo di thread o di campionatore.
SampleTimeOut PreProcessor può definire il timeout di campionamento per una richiesta. Qualsiasi tempo di campionamento maggiore di quello definito sarebbe fallito. UserParameter PreProcessor viene utilizzato per definire i valori per le variabili per utenti specifici.
Esempio , è possibile definire un valore per una variabile per utenti specifici e quando viene eseguito il campionatore, vengono prelevati i valori specificati in questo preprocessore.
HTMLLinkParser analizza tutti i link dalla risposta della richiesta precedente e quindi puoi colpire uno qualsiasi dei link sulla pagina in modo casuale. È possibile specificare '. *' Nel percorso e sceglierebbe qualsiasi collegamento casuale presente nella pagina e lo colpirebbe con lo stesso protocollo utilizzato in un protocollo specifico.
qual è il miglior pulitore gratuito per computer?
PreProcessor JMeter comunemente usato
Esaminiamo alcuni dei pre-processori di JMeter:
# 1) Preprocessore JSR223
Il pre-processore JSR223 viene eseguito prima della richiesta del campionatore ed esegue l'operazione utilizzando lo script JSR223. Diverse lingue che possono essere utilizzate sono JAVA, Groovy, BeanShell, JEXL, ecc.
Seguire i passaggi seguenti per aggiungere questo pre-processore:
- Aggiungi gruppo thread in un piano di test.
- Aggiungi campionatore 'Richiesta HTTP'.
- Aggiungi il pre-processore JSR223.
- Aggiungi listener 'Visualizza albero dei risultati'.
Esempio :
Il seguente script può essere scritto utilizzando JavaScript per modificare il campionatore di richieste HTTP:
sampler.setDomain('website.com'); sampler.setProtocol('HTTP'); sampler.setMethod('GET');
Le variabili JSR223 disponibili per l'uso di script sono le seguenti:
- Registro: Questa variabile può essere utilizzata per scrivere nel file di registro.
- Parametri: Parametri come stringa.
- Etichetta: È un'etichetta di stringa.
- Nome del file: File Nome di uno script se nel caso in cui venga aggiunto uno script esterno
- Di chi: Questa è una variabile JMeter che fornisce l'accesso in lettura e scrittura alle variabili.
- Campionatore: Viene fornito l'accesso al campionatore corrente.
- args: Matrice di stringhe come parametro
- oggetti di scena: Proprietà JMeter
- ctx: Questo è il contesto JMeter che fornisce l'accesso al contesto
- SU: Per stampare il messaggio (system.out)
# 2) Preprocessore JDBC
Questo processore può essere utilizzato per eseguire query SQL prima dell'esecuzione del campionatore.
Per aggiungere il pre-processore vengono seguiti i passaggi seguenti:
- Aggiungi gruppo thread al piano di test.
- Aggiungi campionatore 'Richiesta HTTP'.
- Aggiungi HTTP Header Manager.
- AGGIUNGERE JDBC PreProcessor al gruppo di thread.
- Aggiungi listener come 'Visualizza albero dei risultati'.
Esempio:
Nel caso in cui un utente desideri recuperare nome utente e password per gli utenti:
- Aggiungi un gruppo di thread al piano di test.
- Aggiungi campionatore 'Richiesta HTTP' (i dettagli del nome utente e della password dei dati richiesti possono essere forniti anche nella parte del corpo del campionatore, ma non servirà allo scopo, poiché l'aggiornamento in uno qualsiasi di questi dettagli dovrà essere aggiornato nello script come bene)
- Aggiungi l'elemento di configurazione 'HTTP Header Manager' e fornisci i dettagli per il nome e il valore.
- Aggiungi il preprocessore JDBC.
Tipo di query può essere selezionato dal menu a discesa come Seleziona Statement e Query può essere specificato per estrarre lo stesso nella casella Query.
Le variabili da estrarre possono essere fornite con la separazione delle virgole.
- Aggiungi listener 'Visualizza albero dei risultati' ed esegui il piano di test per visualizzare i risultati.
Pre-processore JDBC ha campo Tipo di query che può essere selezionato secondo il requisito.
Come nel caso in cui l'utente lo desideri aggiornare i dettagli, Dichiarazione di aggiornamento dovrà essere utilizzato. Allo stesso modo, come richiesto, è possibile selezionare un altro tipo di query.
Esempio di istruzione Select preparata:
Nel caso in cui l'utente debba cancellare l'ID appuntamento di un paziente dai record che fanno riferimento al nome del paziente, l'utente deve configurare la connessione JDBC e quindi deve aggiungere un preprocessore JDBC selezionando il tipo di query come Istruzione Select preparata. Esegui il piano di test. I risultati possono essere visti dall'ascoltatore aggiunto.
# 3) Parser di link HTML
Questo processore viene utilizzato per analizzare la risposta HTML e per estrarre tutti i collegamenti e i moduli.
Segui i passaggi seguenti per aggiungere il pre-processore:
- Aggiungi un gruppo di thread al piano di test.
- Aggiungi campionatore 'Richiesta HTTP'
- Aggiungi controller semplice.
- Aggiungi un altro campionatore 'Richiesta HTTP'.
- Aggiungi il preprocessore HTML Link Parser.
- Aggiungi listener 'Visualizza albero dei risultati'.
Esempio:
Per visualizzare come è possibile eseguire la scansione delle pagine interne, è possibile eseguire i passaggi seguenti:
- In Thread Group, aggiungi Sampler 'HTTP Request' e fornisci il nome del server o l'IP. Rinomina il nome del campionatore come HTTP Request_Main.
- Aggiungi Simple Controller al piano di test.
- Aggiungere un altro campionatore 'Richiesta HTTP' e fornire il nome del server o IP e fornire anche /. * nel percorso in modo che possa eseguire la scansione a tutti i collegamenti trovati. Rinomina il nome del campionatore come HTTP Request_Internal.
- Aggiungere il preprocessore 'HMTL Link Parser' e il listener come 'Visualizza albero dei risultati' per visualizzare l'output.
Seguendo i passaggi precedenti, l'output per il primo campionatore sarà il nome del sito web nel campo della richiesta, mentre per il secondo campionatore, l'output sarebbe le pagine interne sottoposte a scansione nel sito web fornito. Fare riferimento alle schermate seguenti per lo stesso.
# 4) Modificatore di riscrittura URL HTTP
Per gestire l'URL delle informazioni sulla sessione, viene utilizzata la tecnica di riscrittura. Ha il vantaggio che anche se il cookie è disabilitato su qualsiasi sistema, ha comunque il potenziale per funzionare.
Per aggiungere il pre-processore vengono seguiti i passaggi seguenti:
- Aggiungi il gruppo di thread al piano di test.
- Aggiungi richiesta HTTP al piano di test.
- Aggiungere il preprocessore 'Modificatore di riscrittura URL HTTP' al piano di test.
- Aggiungi un'altra 'Richiesta HTTP' di Sampler al thread.
Possiamo usare questo preprocessore come segue:
Questo preprocessore può essere applicato a livello di thread e anche al campionatore specifico. Se applicato a livello di thread, aggiungerà l'argomento per ogni richiesta presente nel thread.
Nome argomento sessione : Il nome del parametro ID sessione deve essere specificato in questo campo. Il nome del parametro può essere trovato nella risposta. Questo parametro verrà cercato nella pagina e, ovunque si trovi, verrà preso il valore assegnato.
fasi del ciclo di vita dello sviluppo del sistema con esempi
Estensione del percorso: Se l'applicazione riscrive l'URL aggiungendo un punto e virgola e include anche l'ID di sessione, questa opzione dovrebbe essere selezionata.
Non utilizzare uguale nell'estensione del percorso: Nel caso in cui l'applicazione riscriva gli URL senza l'estensione '=' segno tra nome parametro e valore, questa opzione dovrebbe essere selezionata.
Non utilizzare un punto interrogativo nell'estensione del percorso - Se l'applicazione deve arrestare la chiusura o la fine della stringa di query con l'estensione del percorso, è necessario selezionare l'opzione.
ID sessione cache: Nel caso in cui l'ID sessione sia richiesto per un uso successivo, questa opzione dovrebbe essere selezionata.
Codifica URL: Nel caso in cui siano richiesti URL codificati, questa opzione dovrebbe essere selezionata.
# 5) Parametri utente RegEx
Questo preprocessore consente di recuperare il valore dinamico per i parametri HTTP dalla richiesta HTTP con l'estrattore di espressioni regolari. È impostato su thread indipendenti in un piano di test.
Per aggiungere il pre-processore vengono seguiti i passaggi seguenti:
- Aggiungi un gruppo di thread in un piano di test.
- Aggiungi una richiesta HTTP a un gruppo di thread con un nome server o IP.
- Aggiungi postprocessore 'Regular Expression Extractor' per estrarre i valori.
- Aggiungi un'altra richiesta HTTP a un gruppo di thread e fornisci il nome del server o l'IP.
- Aggiungere il preprocessore 'Regex User Parameter' alla seconda richiesta HTTP.
Questo preprocessore può essere utilizzato come segue:
Nome di riferimento dell'espressione regolare: Il nome di riferimento specificato avrà le variabili che devono essere state analizzate dalla prima richiesta HTTP.
Nomi dei parametri numero di gruppo regexp: 1 rappresenta quel gruppo 1 della regexp. Restituirà il file nomi delle variabili .
Valori dei parametri numero del gruppo regex: 2 rappresenta quel gruppo 2 della regexp. Restituirà il file valori delle variabili .
# 6) BeanShell Preprocessor
Questo preprocessore ottiene un valore casuale da un elenco specifico. Può generare stringhe casuali per assegnare valori alle variabili.
BeanShell Preprocessor viene aggiunto sotto il campionatore.
Per aggiungere il pre-processore vengono seguiti i passaggi seguenti:
- Aggiungi un gruppo di thread al piano di test.
- Aggiungi Sampler al gruppo di thread.
- Aggiungi 'BeanShell Preprocessor' al campionatore aggiunto.
Esempio:
Nel caso in cui la variabile definita dall'utente sia impostata su 'true' come valore e questo valore deve essere modificato in 'false', il comando fornito di seguito può essere utilizzato per fare lo stesso. (Elimina è una variabile definita dall'utente, il cui valore deve essere modificato))
vars.put(“delete”,”false”);
Se deve essere utilizzato uno script esterno, in tal caso, il file può essere caricato per lo script nel campo Nome file. Viene fornita l'opzione Sfoglia per caricare il file esterno.
Domande frequenti su JMeter Preprocessor
D # 1) Cos'è un preprocessore in JMeter?
Risposta : Il preprocessore è l'elemento utilizzato per eseguire le azioni prima dell'esecuzione della richiesta del campionatore. Ci sono un certo numero di pre-processori che possono essere usati per raggiungere scopi diversi come mantenere il valore nella variabile, ottenere dati da database, ecc. I preprocessori possono essere aggiunti a livello di Sampler oa livello di thread.
D # 2) Che cos'è il preprocessore Beanshell in JMeter?
Risposta : BeanShell è uno script basato ed è un componente integrato di JMeter. Questo preprocessore viene utilizzato per eseguire lo script prima che venga eseguito Sampler.
Conclusione
I preprocessori JMeter: come abbiamo discusso vengono eseguiti appena prima dell'esecuzione del campionatore. JSR223 e Beanshell sono preprocessori basati su script mentre JDBC viene utilizzato per le attività del database poiché è necessario recuperare o recuperare i dati.
Analizzatore di link HTML e parametro utente RegEx non sono usati così comunemente come altri preprocessori ma servono allo scopo come richiesto e hanno i loro vantaggi.
<< PREV | IL PROSSIMO >>
Lettura consigliata
- Ascoltatori JMeter: analisi dei risultati con ascoltatori diversi
- Parametrizzazione dei dati JMeter mediante variabili definite dall'utente
- Variabili e funzioni di JMeter
- Come ottenere la correlazione JMeter con l'esempio
- I 5 migliori plugin JMeter e come usarli (con esempi)
- Timer JMeter: timer casuale costante, BeanShell e Guassian
- Controller Jmeter Parte 2
- Controller Jmeter Parte 1