Versionen im Vergleich
Schlüssel
- Diese Zeile wurde hinzugefügt.
- Diese Zeile wurde entfernt.
- Formatierung wurde geändert.
In 0 - Projekt einrichten haben wir unser Gatling-Projekt aufgesetzt und alles für unseren ersten Test vorbereitet. In diesem Tutorial gehen wir auf die benötigten Grundlagen ein und erstellen ein erstes einfaches Test-Szenario.
Vorbedingung
Als Vorbedingung benötigen wir natürlich unsere JWT-Anwendung, die wir aufrufen und testen können. In den folgenden Tutorials gehen wir davon aus, dass wir die Anwendung lokal unter folgender URL deployed haben: http://localhost:8080/jwt-tutorial-003-5.7.0.2/
Szenario Setup
Unser erstes Szenario sendet eine einfache Anfrage an das jadice web toolkit. Das Szenario legen wir in dem Ordner src/test/scala/org/jwt/performance/ unter dem Namen SimulationSimple.scala an. In diesem Szenario legen wir 5 Nutzer an, welche eine Anfrage an die Base-URL senden.
Als Erfolgskriterien definieren wir:
- Eine erfolgreiche Antwort des Servers (HTTP 200)
- Eine maximale Antwortzeit von 2 Sekunden.
Codeblock | ||||||
---|---|---|---|---|---|---|
| ||||||
import io.gatling.core.Predef._ import io.gatling.http.Predef._ class SimulationSimple extends Simulation { val httpProtocol = http .baseURL("http://localhost:8080/") val defaultHeader = Map( "Accept" -> "*/*") val scn = scenario("Simple Scenario") .exec(http("Simple Request") .get("/") .headers(defaultHeader) .check(status.is(200)) ) setUp(scn.inject(atOnceUsers(5))) .protocols(httpProtocol) .assertions( global.responseTime.max.lte(2000) ) } |
- httpProtocol
Die Variable httpProtocol speichert die Http-Konfiguration für unsere Anfragen.
- header
In der Variable defaultHeader werden die Anfrage-Kopfzeilen gespeichert. Dieser können wir nach belieben Anfragen hinzufügen.
- scn
Hier wird das eigentliche Szenario und somit der Testablauf definiert. Innerhalb eines Szenarios können wir beliebig viele http-Anfragen an die Anwendung senden.
- setUp
Das Erstellen und Injizieren von Nutzern in das Szenario erfolgt innerhalb der Setup-Methode
- protocols
Hier wird das oben vorbereitete http-Protokoll angefügt
- assertions
Unter assertions lassen sich Restriktionen für die Anfragen festlegen
Ausführen von Tests
Die Tests starten wir über folgendes Kommando (entweder über die Konsole oder über einen konfigurierten Maven build):
Codeblock | ||||
---|---|---|---|---|
| ||||
mvn gatling:test |
Ergebnisse
Die Ergebnisse eines Tests werden standardmäßig (in der Konfiguration des Plugins innerhalb der pom.xml) unter target/reports/gatling/ abgelegt. Zum Betrachten eines Reports navigieren wir in das entsprechende Verzeichnis und öffnen die zugehörige index.html.
Die Ergebnisse beinhalten Informationen zu:
- Aktive Nutzer
- Antwortzeiten
- Erhaltene Anfragen/Antworten
Das Ergebnis könnte folgendermaßen aussehen:
Erweitern |
---|
Tutorials
- 0 - Projekt einrichten
- 1 - Szenario: Grundlagen
- 2 - Szenario: Dokument laden
- 3 - Szenario: Bildabschnitte laden