Apache JMeter
Apache JMeter: Inspelning av testscenariot
Sök…
Introduktion
Inspelning av testscenarier är ett av de mest praktiska sätten att skapa testskript. Detta beror på att testinspelningar gör att du kan härma realistiska användararbetsflöden istället för att manuellt skapa ett testskript. Inspelningarna fångar alla webbläsarförfrågningar till webbapplikationen och skapar sedan automatiskt en jmx-fil som kan köras i prestandatest. Genom att använda JMeters inspelnings- / uppspelningsfunktioner eller tredjepartsverktyg som BlazeMeter och BadBoy kan testare göra sitt arbete tre gånger snabbare.
Skriptinspelning med JMeter-mallfunktionen
I version 2.10 introducerade JMeter en mekanism som sparar tid när du skapar skript - JMeter Mallar. Dessa mallar är skelett som kan återanvändas som bas för dina nya skript.
JMeter har redan flera tillgängliga mallar med detaljerade beskrivningar, och du kan också lägga till dina egna. Mallar har alla nödvändiga konfigurationer och element för att spela in dina prestanda skript från början.
Så här använder du JMeter Mall Feature:
Konfigurera JMeter
Öppna JMeter
Välj mall för skriptinspelning:
Arkiv -> Mallar ... -> Välj mall -> Inspelning -> Skapa JMeter lägger till relevanta element i testträdet.
Konfigurera webbläsarens proxy
För att använda JMeter Recorder måste du konfigurera din webbläsare för att skicka alla förfrågningar via proxy. Alla webbläsare kan användas för dessa behov, även om det kan finnas skillnader mellan platserna för webbläsarnas konfigurationer, som är webbläsarspecifika och kan variera beroende på OS.
Så här konfigurerar du din webbläsare:
Chrome : Menyknapp -> Inställningar -> Visa avancerade inställningar ... -> Nätverk -> Ändra proxyinställningar
Safari : Inställningar -> Avancerat -> Proxies -> Ändra inställningar ...
Firefox : Menyknapp -> Inställningar -> Avancerat -> Nätverk -> Anslutning -> Inställningar ..
Du kan till exempel använda localhost 127.0.0.1. Ändra porten till porten i HTTP (S) Script Recorder.
Om du har problem när du slutför detta steg kontrollerar du att du inte har några tredjepartsplugin som kan hantera webbläsarens proxyinställningar. Om du gör det, till exempel Hola VPN, är proxyinställningarna inte tillgängliga i webbläsarens meny.
- Klicka på "Start" -knappen, som ligger längst ner på sidan "HTTP (S) Test Script Recorder" och gå igenom det webbapplikationsarbetsflöde du vill testa. När du går tillbaka till JMeter bör du se alla fångade förfrågningar från din webbläsare.
Skriptinspelning med JMeter Proxy Recorder
Med JMeter kan du också konfigurera arbetsytan manuellt. Det är mer komplicerat, men du kan göra att skriptet passar dina exakta behov.
Konfigurera webbläsarens proxy
- Konfigurera din webbläsare, som beskrivs i kapitel 1.
Konfigurera JMeter
"WorkBench" -grenen kan användas som ett tillfälligt arbetsområde för att skapa skript. Kom ihåg att poster som läggs till i detta avsnitt inte kommer att sparas med testplanen. Om du vill återanvända samma inspelningskonfiguration i framtiden måste du därför kopiera och klistra in den i avsnittet "Testplan".
- Lägg till "Inspelningskontroller" till "WorkBench": Högerklicka på "WorkBench" -> "Lägg till" -> "Logic Controller" -> "Inspelningskontroller"
- Lägg till "HTTP (S) Test Script Recorder" till samma "WorkBench": Högerklicka på "WorkBench" -> "Lägg till" -> "Non-Test Elements" -> "HTTP (S) Test Script Recorder"
På konfigurationssidan "HTTP (S) Test Script Recorder" i "Globala inställningar: Port" måste du lägga till samma port som anges i webbläsarens proxy-konfiguration, till exempel 8080.
Om du vill utesluta förfrågningar till specifika resurser kan du använda avsnittet "URL-mönster för att utesluta". Detta kan vara användbart om du bara vill inkludera de typer av innehåll du vill begära (t.ex. * .html, * .php, etc) eller för att utesluta de typer av innehåll du inte vill begära (t.ex. * .jpg, * .png, * .js, etc).
När skulle vi använda detta? Till exempel när du spelar in ett skript som anropar en tredjepartsapplikation eller när du testar ett skript på serversidan kanske du inte vill ladda ner tillgångar eftersom de kan röra upp dina tester och konsumera bandbredd, eller kanske du vill spela in vissa förfrågningar från en viss väg.
De vanligaste uteslutningsmönstren är: “. .png “,“. .jpg “,“. .gif “,”. .css ”,“. JS”. Du kan också kombinera olika mönster tillsammans. Detta kombinerade mönster bör bli av med alla överflödiga förfrågningar som kan distrahera dig från viktiga: “. . (Bmp | css | js | gif | ICO | jpe g |? Png | swf | WOFF)”
- Å andra sidan kanske du vill efterlikna hela webbläsarens beteende och inkludera inläsningen av alla resurser. I det här fallet är det inte nödvändigt att utesluta URL-mönster. Tänk på att webbläsaren laddar ner alla inbäddade resurser från den begärda sidan och att den har en cachemekanism som kan påverka resultatprestanda.
I det här fallet rekommenderas att du laddar ner alla inbäddade resurser i skriptet: Högerklicka på "Testplan" -> "Lägg till" -> "Config Element" -> "HTTP Request Defaults" -> "Advanced" -> Välj Kryssrutan "Hämta alla inbäddade resurser".
För att få JMeter att bete sig mer som en riktig webbläsare rekommenderas att du lägger till "HTTP Cache Manager", som låter dig simulera webbläsarens cachefunktion i dina prestanda test. Högerklicka på "Testplan" -> "Lägg till" -> "Config Element" -> "HTTP Cache Manager".
Klicka nu på "Start" -knappen, som ligger längst ner på sidan "HTTP (S) Test Script Recorder", och gå igenom webbapplikationens arbetsflöde som du vill testa. När du går tillbaka till JMeter bör du se alla fångade förfrågningar från din webbläsare under “Inspelningskontroller”.
Inspelningsprestationsskript för mobila enheter
JMeter kan också användas för att spela in mobilprestanda. Inspelning av mobila skript liknar mycket inspelning av skript för webbapplikationer.
Konfigurera JMeter
- Konfigurera “JMeter-mallar” som anges i kapitel 1.
Konfigurera din mobiltelefon
När JMeter-konfigurationen har förberett, inklusive JMeter “HTTP (S) Test Script Recording” -elementet startade på en specificerad port, kan du konfigurera din mobiltelefon så att den skickar en begäran till webbapplikationen du testar via JMeter-proxy.
- IOS :
Inställning -> Wi-Fi
Klicka på det anslutna nätverket
Gå till konfigurationsavsnittet "HTTP PROXY"
Klicka på fliken "Manuell"
Ställ in IP: n för datorn som JMeter-applikationen körs under "Server"
Ställ in porten som anges i "HTTP (S) Test Script Recording" under "Port"
Android:
Inställning -> Wi-Fi
Länge klicka på det anslutna nätverket och klicka på alternativet "Ändra nätverk"
Klicka på kryssrutan “Avancerade alternativ”
Ställ in alternativet "Proxy" på "Manuell"
Ställ in "Proxy-värdnamn" som din dators IP-adress och "Proxy Port" som anges i "HTTP (S) Test Script Recording" -konfigurationen under "Port"
Klicka på "Spara"
- Du kan nu börja köra applikationen på din mobila enhet. Begärningarna kommer att spelas in på JMeter.
Spela in HTTPS-trafik
Om din webbapplikation använder SSL-kryptering måste du fånga HTTPS-trafik istället för HTTP. För att spela in HTTPS Traffic med JMeter måste du konfigurera SSL-certifikaten.
Konfigurera din SSL-proxy
- Se till att SSL-proxy är konfigurerad på samma sätt som HTTP-proxy är konfigurerad:
Konfigurera JMeter
Starta skriptinspelning med funktionen ”JMeter inspelningsmall” som förklaras i exemplet "Skriptinspelning med JMeter mallfunktion".
När du har öppnat webbapplikationen ser du ett meddelande om en osäker anslutning. För att fortsätta behöver du bara acceptera JMeter-dummycertifikatet:
- Klicka på 'Avancerat'
- Klicka på "Lägg till undantag ..."
- Avmarkera "Lagra detta undantag permanent"
- Klicka på "Bekräfta säkerhetsundantag"
- Om du ser “Denna webbplats ger giltig, verifierad identifikation. Det finns inget behov av att lägga till ett undantag. ” varningsmeddelande, måste du rensa webbläsarhistoriken för din applikation, inklusive cookies, cache, offline webbplatsinformation. Fortsätt sedan med samma steg igen.
Detta tillvägagångssätt fungerar också för inspelning av mobila skript, eftersom JMeter-certifikatet endast behöver installeras på värden som används för att köra JMeter.
Skriptinspelning med BlazeMeter Chrome Extension
Hittills har vi täckt de grundläggande sätten att spela in testscenarier. Men ett av de snabbaste och enklaste sätten att spela in dina prestandaskript, som också är gratis, är att använda BlazeMeter Recorder Chrome- förlängningen. Dessa inspelningar kan köras i JMeter eller i BlazeMeter.
Anledningen till att tillägget är så användbart är att det låter dig spela in prestandaskript från din webbläsare utan att behöva konfigurera din proxy.
Så här skapar du ett nytt prestationsskript:
- Öppna inspelaren från din Chrome
- Ange ett testnamn i det övre fältet
- Börja inspelningen genom att klicka på inspelningsknappen, i form av en cirkel, och utför de webbåtgärder du vill spela in. Alla dina förfrågningar kommer att fångas. Blazemeter Chrome Extension stöder också inspelning av HTTPS-trafik.
- När du är klar med inspelningen klickar du på stoppknappen i form av en kvadrat. Du kan också pausa din inspelning och sedan återuppta, samt redigera den, i .jmx- eller JSON-format eller i molnet.
- Exportera din inspelning - för att köra testet i JMeter, exportera till .jmx-format genom att klicka på .jmx-knappen. För att köra testet i BlazeMeter, klicka på "spela".
För mer information se här .
Manuskriptinspelning med BadBoy
Ett annat användbart inspelningsverktyg från tredje part är BadBoy. Det fungerar dock bara för Windows OS.
Så här skapar du ett nytt prestationsskript:
Installera BadBoy här
Tryck på inspelningsknappen, formad som en röd cirkel och utför de åtgärder du vill fånga.
Exportera ditt skript till JMeter - Fil -> Exportera till JMeter
För mer information, se här .
Att använda en inspelare för prestandaskript är ett bra sätt att undvika rutinmässiga uppgifter och fortfarande få de bästa testskripten. Efter inspelning konfigurerar du testet till antalet virtuella användare som du vill testa såväl som ytterligare testkonfigurationer, kör testet och analyserar resultaten för att identifiera fel och flaskhalsar och karakterisera trender som visar ditt systems hälsa.