Cos'è un'asserzione?
La guida alle asserzioni verifica che il server sottoposto a test restituisca i risultati previsti .
Tipi di asserzioni
Di seguito sono riportate alcune asserzioni comunemente utilizzate in JMeter:
- Asserzione di risposta
- Asserzione di durata
- Asserzione di dimensioni
- Asserzione XML
- Asserzione HTML
- Passaggi per utilizzare l'asserzione di risposta
Asserzione di risposta
L'asserzione di risposta consente di aggiungere stringhe di pattern da confrontare con vari campi della risposta del server.
Ad esempio, invii una richiesta utente al sito web http://www.google.com e ottieni la risposta del server. È possibile utilizzare Asserzione risposta per verificare se la risposta del server contiene la stringa del modello prevista (ad esempio "OK").
Asserzione di durata
L'asserzione di durata verifica che ciascuna risposta del server sia stata ricevuta entro un determinato periodo di tempo. Qualsiasi risposta che impiega più tempo del numero di millisecondi specificato (specificato dall'utente) viene contrassegnata come risposta non riuscita.
Ad esempio, una richiesta utente viene inviata a www.google.com da JMeter e ottiene una risposta entro il tempo previsto di 5 ms, quindi il test case viene superato, altrimenti il test case non è riuscito.
Asserzione di dimensioni
L'asserzione dimensione verifica che ogni risposta del server contenga il numero di byte previsto. È possibile specificare che la dimensione sia uguale, maggiore, minore o diversa da un dato numero di byte.
JMeter invia una richiesta utente a www.google.com e ottiene un pacchetto di risposta con una dimensione inferiore a 5000 byte di byte previsti a un test case superato. In caso contrario, lo scenario di test è fallito.
Asserzione XML
L'asserzione XML verifica che i dati di risposta siano costituiti da un documento XML formalmente corretto.
Asserzione HTML
L'asserzione HTML consente all'utente di controllare la sintassi HTML dei dati di risposta. Significa che i dati di risposta devono essere soddisfatti della sintassi HTML.
Passaggi per utilizzare l'asserzione di risposta
Continueremo con lo script che abbiamo sviluppato nel tutorial precedente.
In questo test, utilizziamo Asserzione risposta per confrontare il pacchetto di risposta da www.google.com che corrisponde alla stringa prevista.
Ecco la tabella di marcia per questo test:
Il pannello di controllo dell'asserzione della risposta consente di aggiungere stringhe di pattern da confrontare con i vari campi della risposta.
Passaggio 1) Aggiungi asserzione di risposta
Fare clic con il pulsante destro del mouse su Gruppo thread -> Aggiungi -> Asserzioni -> Asserzione risposta
Il riquadro di asserzione della risposta viene visualizzato come nella figura seguente:
Passaggio 2) Aggiungi modello da testare
Quando invii una richiesta al server di Google, potrebbe restituire un codice di risposta come di seguito:
- 404 : errore del server
- 200 : Server OK
- 302 : il server Web reindirizza ad altre pagine. Questo di solito accade quando accedi a google.com dall'esterno degli Stati Uniti. Google reindirizza al sito web specifico del paese. Come mostrato di seguito, google.com reindirizza a google.co.in per gli utenti indiani.
Supponi di voler verificare che il codice di risposta google.com del server web contenga il pattern 302,
In Campo risposta da testare , scegliere Codice risposta,
Nel pannello di asserzione della risposta, fare clic su Aggiungi -> una nuova visualizzazione della voce vuota -> immettere 302 in Pattern da testare.
Passaggio 3) Aggiungi risultati di asserzione
Fare clic con il pulsante destro del mouse su Gruppo thread, Aggiungi -> Listener -> Risultati asserzione
Passaggio 4) Esegui il test
Fare clic su Gruppo thread -> Risultato asserzione
Quando sei pronto per eseguire un test, fai clic sul pulsante Esegui sulla barra dei menu o sul tasto breve Ctrl + R.
Il risultato del test verrà visualizzato nel riquadro Risultati asserzione. Se il codice di risposta del server di Google contiene il pattern 302 , il test case viene superato. Vedrai il messaggio visualizzato come segue:
Ora tornando al pannello di asserzione della risposta, si modifica il modello da testare da 302 a 500.
Poiché il codice di risposta del server di Google non contiene questo pattern, vedrai il test case Failed come segue:
Risoluzione dei problemi:
Se il problema si verifica durante l'esecuzione degli scenari precedenti ... procedi come segue:
- Controlla se ti stai connettendo a Internet tramite un proxy. In caso affermativo, rimuovere il proxy.
- Apri una nuova istanza di JMeter
- Apri AssertionTestPlan.jmx in JMeter
- Fare clic su Gruppo thread -> Risultato asserzione
- Esegui il test