Programvare

Belastningstesting av web-servere ved hjelp av selen, en web kikker funksjonell testing verktøy

Hvis du ser på tradisjonelle web server load testverktøy, for eksempel laste Runner eller Jmeter, vil du merke en grunnleggende designmønster for å gjenskape store mengder av web-trafikk. Med disse verktøyene et mange-gjennomtrukket program åpner TCP-socketer og plasserer (via API-kall) HTTP-forespørsler direkte på disse stikkontakter. På denne måten kan et bestemt volum av HTTP-trafikk bli simulert uten overhead av å kjøre web-lesere. Vanligvis kan rundt 500 såkalte 'virtuelle brukere' simuleres fra en enkelt Pentium 4 PC med rundt 1GB RAM. Hvis 'ekte kikkere' skulle utføres parallelt på det samme utstyret bare rundt kan 6 nettlesere simuleres. For disse grunner tilnærming for å gjenskape HTTP-trafikk i flertrådige prosesser, som kaller APIer, har vært populære i de siste 15 årene eller så.

Selv om HTTP drevet tilnærming er fortsatt populære i dag det har dukket opp en annen levedyktig alternativ tilnærming til å simulere store mengder av web-trafikk, og denne tilnærmingen innebærer kjører flere "hodeløse" lesere i parallell å gjenskape den nødvendige web lesertrafikk for belastningstesting av web-serveren.

Begrepet "hodeløse" leseren refererer til en fullt fungerende nettleser, i form av de nødvendige APIene til å kommunisere med webserver, men uten den bruker grenseflate (GUI) delen. Det er en rekke hodeløse nettlesere fritt tilgjengelig (f.eks HTMLUNIT og PhantomJS), og dette kan alle være programmatisk drevet til å samhandle med webserver på samme måte ville en ekte nettleser. Mens disse webleserne ikke har en GUI er de svært nyttig for å sende forespørsler til en Web-Server for å analysere ut resultatene for skjermen fange, nettverk avlytting eller generelle side automatisering.

Selen WebDriver er en automatisert 'funksjonell' testverktøy som kan simulere brukerhandlinger i en nettleser som Firefox eller Internet Explorer. Selen kan også simulere aksjoner mot HTMLUNIT. Gitt ressursen er fotavtrykk (CPU og minne) av HTMLUNIT langt mindre enn en tradisjonell nettleser flere forekomster (henrettet som tråder) av selen drevet HTMLUNIT nettlesere kan utføres på én enkelt datamaskin til å kjøre web-trafikk for belastningstesting av en web-server. Vanligvis kan rundt 25 hodeløse nettlesere bli drevet fra en Pentium 4 PC med 1GB ram. På denne måten kan rundt 500 virtuelle brukere bli simulert med 25 PC-er (eller virtuelle maskiner) gjør denne teknikken av trafikk web server levedyktig for mange belastningstesting prosjekter.

For å kjøre flere forekomster av selen WebDriver ved hjelp av headless teknikken en multi er gjengede Java rammeverk nødvendig. Enten Jmeter eller The Grinder åpen kildekode belastningstesting rammer vil være tilstrekkelig for dette formålet.

Selv om ikke egnet for å simulere svært bør store mengder av web-trafikk hodeløse nettleser tilnærming vurderes når det ellers ville være vanskelig å gjenskape den nødvendige trafikken ved hjelp av HTTP-drivere. Situasjoner der hodeløse nettleser belastningen kjøring tilnærming er fordelaktig inkluderer web-sider som bruker url omskrivninger for økt håndtering eller der det er nødvendig med nøyaktig trafikk simulering. Hodeløse nettleser tilnærming vil gjenskape web-trafikk som er nærmere ekte lesertrafikk, enn som generert av de tradisjonelle rammene for HTTP-driveren.