Sådan bruger du Assertions i JMeter (Eksempel på svar)
Hvad er en påstand?
Assertion-hjælp bekræfter, at din server under test returnerer forventet resultater.
Typer af påstande
Følgende er nogle almindeligt anvendte påstande i JMeter:
- Responspåstand
- Varighedspåstand
- Størrelsespåstand
- XML påstand
- HTML påstand
- Trin til brug af Response Assertion
Responspåstand
Svarpåstanden lader dig tilføje mønsterstrenge, der skal sammenlignes med forskellige felter i serversvaret.
For eksempel sender du en brugeranmodning til hjemmesiden http://www.google.com og få serversvaret. Du kan bruge Response Assertion til at kontrollere, om serversvaret indeholder forventet mønsterstreng (f.eks. "OK").
Varighedspåstand
Duration Assertion tester, at hvert serversvar blev modtaget inden for en givet beløb af tid. Ethvert svar, der tager længere tid end det givne antal millisekunder (angivet af brugeren), markeres som et mislykket svar.
For eksempel sendes en brugeranmodning til www.google.com by JMeter og få svar indeni forventet tid 5 ms derefter Test sag bestået, ellers mislykkedes prøven.
Størrelsespåstand
Size Assertion tester, at hvert serversvar indeholder det forventede antal byte i sig. Du kan angive, at størrelsen skal være lig med, større end, mindre end eller ikke lig med et givet antal bytes.
JMeter sender en brugeranmodning til www.google.com og får svarpakke med størrelse mindre end forventet byte 5000 bytes en testcase bestået. Hvis andet, mislykkedes testcasen.
XML påstand
XML Assertion tester, at svardataene består af et formelt korrekt XML-dokument.
HTML påstand
HTML Assertion giver brugeren mulighed for at kontrollere HTML-syntaksen for svardataene. Det betyder, at svardataene skal opfylde HTML-syntaksen.
Trin til brug af Response Assertion
Vi fortsætter med det script, vi udviklede i det tidligere tutorial.
I denne test bruger vi Responspåstand for at sammenligne svarpakken fra www.google.com matcher din forventede streng.
Her er den køreplan til denne test:
Kontrolpanelet for svarpåstand lader dig tilføje mønsterstrenge, der skal sammenlignes med forskellige felter i svaret.
Trin 1) Tilføj svarpåstand
Højre-Klik Trådgruppe -> Tilføj -> påstande -> Responspåstand
Svarpåstandsruden vises som nedenstående figur:
Trin 2) Tilføj mønster for at teste
Når du sender en anmodning til Google-serveren, returnerer den muligvis nogle svarkode som vist herunder:
- 404: Server Fejl
- 200: Server OK
- 302: Webserver omdirigerer til andre sider. Dette sker normalt, når du får adgang til google.com uden for USA. Google omdirigerer til et landespecifikt websted. Som vist nedenfor omdirigerer google.com til google.co.in for indiske brugere.
Antag, at du vil bekræfte, at webserverens google.com svarkode indeholder mønster 302,
On Svarfelt til test, vælg Svarkode,
Klik på Response Assertion Panel Tilføj -> et nyt tomt indtastningsdisplay -> indtast 302 i mønster til test.
Trin 3) Tilføj påstandsresultater
Højreklik på trådgruppe, Tilføj -> Lytter -> Påstandsresultater
Trin 4) Kør din test
Klik på trådgruppe -> Påstand resultat
Når du er klar til at køre en test, skal du klikke Løbet knappen på menulinjen eller korttast Ctrl + R.
Testresultatet vises i ruden Assertion Results. Hvis Google server svarkode indeholder mønsteret 302, er testsagen bestået. Du vil se meddelelsen vist som følger:
Nu tilbage til Response Assertion Panel, du ændrer mønsteret for at teste til fra 302 til 500.
Fordi Google-serversvarkoden ikke indeholder dette mønster, vil du se testcasen mislykkedes som følger:
Fejlfinding
Hvis du står over for problemet, mens du kører ovenstående scenarier ... gør følgende:
- Kontroller, om du opretter forbindelse til internettet via en proxy. Hvis ja, fjern proxyen.
- Åbn en ny forekomst af JMeter
- Åbne AssertionTestPlan.jmx in JMeter
- Klik på Trådgruppe -> Påstandsresultat
- Kør testen