Inleiding tot Gatling

1. Overzicht

Gatling is een laadtesttool dat wordt geleverd met uitstekende ondersteuning van de HTTP protocol - wat het een echt goede keuze maakt voor het testen van elke HTTP server.

In deze korte handleiding wordt uitgelegd hoe u dat moet doen stel een eenvoudig scenario op voor het testen van een HTTP server.

Gatling simulatiescripts zijn geschreven in Scala, maar maak je geen zorgen - de tool helpt ons met een GUI waarmee we het scenario kunnen opnemen. Zodra we klaar zijn met het opnemen van het scenario, maakt de GUI het Scala script dat de simulatie vertegenwoordigt.

Na het uitvoeren van de simulatie hebben we een ready-to-present HTML rapporten.

Last but not least, de architectuur van Gatling is asynchroon. Met dit soort architectuur kunnen we virtuele gebruikers implementeren als berichten in plaats van als speciale threads, waardoor ze zeer goedkoop zijn. Het is dus geen probleem om duizenden gelijktijdige virtuele gebruikers te gebruiken.

Het is echter ook vermeldenswaard dat de kernmotor dat ook is protocol agnostisch, dus het is perfect mogelijk om ondersteuning voor andere protocollen te implementeren. Zo verscheept Gatling momenteel ook JMS ondersteuning.

2. Een project maken met behulp van het archetype

Hoewel we Gatling-bundels kunnen krijgen als een .zip we kiezen ervoor om Gatling's te gebruiken Maven-archetype. Dit stelt ons in staat om Gatling te integreren en uit te voeren in een IDE en het gemakkelijk maken om het project te onderhouden in een versiebeheersysteem. Wees voorzichtig als Gatling vereisen een JDK8.

Typ op de opdrachtregel:

mvn-archetype: genereren

Vervolgens, wanneer daarom wordt gevraagd:

Kies een getal of pas een filter toe (indeling: [groupId:] artefactId, hoofdlettergevoelig bevat):

Type:

gatling

Je zou dan moeten zien:

Kies archetype: 1: remote -> io.gatling.highcharts: gatling-highcharts-maven-archetype (gatling-highcharts-maven-archetype)

Type:

1

om het archetype te selecteren en vervolgens de versie die u wilt gebruiken (kies de nieuwste versie).

Selecteer de groupId, artefact-id, versie en pakket naam voor de klassen voordat u het maken van het archetype bevestigt.

Werk af door het archetype in een IDE te importeren - bijvoorbeeld in de Scala IDE (gebaseerd op Eclipse) of in IntelliJ IDEA.

3. Definieer een scenario

Voordat we de recorder starten, moeten we dat doen definieer een scenario. Het zal een weergave zijn van wat er werkelijk gebeurt wanneer gebruikers door een webtoepassing navigeren.

In deze tutorial zullen we de applicatie van het Gatling-team gebruiken voor voorbeelddoeleinden en gehost op de URL //computer-database.gatling.io.

Ons eenvoudige scenario zou kunnen zijn:

  • Een gebruiker komt aan bij de applicatie.
  • De gebruiker zoekt naar ‘amstrad '.
  • De gebruiker opent een van de gerelateerde modellen.
  • De gebruiker keert terug naar de startpagina.
  • De gebruiker doorloopt pagina's.

4. Configureren van de recorder

Start allereerst het Recorder klasse van de IDE. Eenmaal gestart, kunt u met de GUI configureren hoe verzoeken en antwoorden worden geregistreerd. Kies de volgende opties:

  • 8000 als luisterpoort
  • org.baeldung.simulatie pakket
  • RecordedSimulation naam van de klasse
  • Omleidingen volgen? gecontroleerd
  • Automatische verwijzers? gecontroleerd
  • Zwarte lijst eerst filterstrategie geselecteerd
  • . * \. css, . * \. js en . * \. ico in de zwarte lijstfilters

Nu moeten we onze browser configureren om de gedefinieerde poort te gebruiken (8000) gekozen tijdens de configuratie. Dit is de poort waarmee onze browser verbinding moet maken, zodat de Recorder kan onze navigatie vastleggen.

Hier is hoe te doen met Firefox, open de browser Geavanceerde instellingen, ga dan naar het Netwerk paneel en update de verbindingsinstellingen:

5. Opnemen van het scenario

Nu alles is geconfigureerd, kunnen we het scenario opnemen dat we hierboven hebben gedefinieerd. De stappen zijn de volgende:

  1. Start de opname door op de ‘Start'-knop te klikken
  2. Ga naar de website: //computer-database.gatling.io
  3. Zoek naar modellen met ‘amstrad 'in hun naam
  4. Selecteer ‘Amstrad CPC 6128 '
  5. Ga terug naar de homepage
  6. Herhaalt meerdere keren door de modelpagina's door op te klikken De volgende knop
  7. Klik op de knop ‘Stoppen en opslaan '

De simulatie wordt in het pakket gegenereerd org.baeldung gedefinieerd tijdens de configuratie onder de naam RecordedSimulation.scala

6. Voer een simulatie uit met Maven

Om onze opgenomen simulatie uit te voeren, moeten we onze pom.xml:

 io.gatling gatling-maven-plugin 2.2.4 test uitvoeren waar 

Hierdoor kunnen we de simulatie in de testfase uitvoeren. Om de test te starten, voert u gewoon uit:

mvn-test

Wanneer de simulatie is voltooid, geeft de console het pad naar de HTML-rapporten weer.

Let op: configuratie waar wordt gebruikt omdat we Scala met maven zullen gebruiken. Deze vlag zorgt ervoor dat we onze simulatie niet twee keer compileren. Meer details zijn beschikbaar in Gatling-documenten.

7. Het resultaat bekijken

Als we het index.html op de voorgestelde locatie zien de rapporten er als volgt uit:

8. Conclusie

In deze tutorial hebben we het testen van een HTTP-server met Gatling onderzocht. Met de tools kunnen we een simulatie opnemen op basis van een gedefinieerd scenario met behulp van een GUI-interface. Nadat de opname is voltooid, kunnen we onze test starten. Het testrapport heeft de vorm van een HTML-cv.

Om ons voorbeeld op te bouwen hebben we ervoor gekozen om een ​​maven-archetype te gebruiken. Dit helpt ons om Gatling te integreren en uit te voeren in een IDE en maakt het gemakkelijk om het project in een versiebeheersysteem te onderhouden.

De voorbeeldcode is te vinden in het GitHub-project.


$config[zx-auto] not found$config[zx-overlay] not found