Programvara

Ladda testning webbservrar med selen, en web browser funktionell testning verktyg

Om du tittar på traditionella web server load testverktyg, till exempel ladda löpare eller Jmeter, kommer du att märka en grundläggande designmönster för att återskapa stora volymer av webbtrafik. Med dessa verktyg ett multi gängad program öppnar TCP sockets och placerar (via API-anrop) HTTP-begäranden direkt på dessa sockets. På detta sätt kan krävs volymen av HTTP-trafik simuleras utan overhead kör webbläsare. Vanligtvis kan omkring 500 så kallade "virtuella användare" simuleras från en enda dator Pentium 4 med runt 1GB RAM. Om "riktiga webbläsare" skulle utföras parallellt på samma utrustning endast omkring kan 6 webbläsare simuleras. Av dessa skäl har metoden att återskapa HTTP-trafik i flertrådade processer, anropa API, varit populär för de senaste 15 åren eller så.

Även om HTTP driven strategi fortfarande är populära idag det har framkommit en annan livskraftig alternativ strategi för simulera stora volymer av webbtrafik, och detta synsätt innebär att köra flera "huvudlösa" webbläsare parallellt för att återskapa krävs webbtrafik webbläsare för last testning webbservern.

Termen "huvudlösa" webbläsaren hänvisar till en fullt fungerande webbläsare, när det gäller krävs API att kommunicera med webbservern, men utan delen användargränssnitt (GUI). Det finns ett antal headless webbläsare fritt tillgängliga (t.ex. HTMLUNIT och PhantomJS) och dessa kan alla programmässigt drivas att interagera med webbservern på samma sätt som en riktig webbläsare. Medan dessa webbläsare inte har en GUI är de mycket användbara för att skicka begäran till en webbserver för att tolka in resultaten för skärm ta till fånga, nätverksövervakning eller allmänna sidan automation.

Selenium WebDriver är en automatiserad "funktionella" testverktyg som kan simulera användarens åtgärder på en webbläsare som Firefox eller Internet Explorer. Selen kan också simulera åtgärder mot HTMLUNIT. Med tanke på resursen är fotavtryck (processor och minne) av HTMLUNIT betydligt mindre än en traditionell webbläsare flera instanser (avrättad som trådar) av selen driven HTMLUNIT webbläsare kan utföras på en enda dator att driva spindelväv trafik för last testning en webbserver. Normalt kan cirka 25 headless webbläsare drivas från en Pentium 4-dator med 1GB ram. På detta sätt runt 500 "virtuella användare" kan simuleras med 25 PC (eller virtuella maskiner) gör denna teknik för att köra servern webbtrafik lönsamt för många ladda provningsprojekt.

För att köra flera instanser av Selenium WebDriver med hjälp av huvudlösa tekniken en multi krävs gängad Java framework. För detta ändamål räcker antingen Jmeter eller The Grinder öppen källkod ladda testning ramar.

Även om inte lämpade för att simulera extremt bör stora volymer av webbtrafik metoden headless webbläsare beaktas när det skulle annars vara svårt att återskapa önskad trafik använder HTTP-drivrutiner. Situationer där headless webbläsaren ladda körning strategi är fördelaktiga innehåller webbsidor som använder url omskrivning för session hantering eller där exakta trafik simulering krävs. Metoden headless webbläsare kommer att återskapa webbtrafik som är närmare äkta webbläsartrafik, än som genereras av de traditionella HTTP driver ramarna.