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/jwt-tutorial-003-5.8.0.0")
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 |
---|
Image RemovedImage Added |
Tutorials
- 0 - Projekt einrichten
- 1 - Szenario: Grundlagen
- 2 - Szenario: Dokument laden
- 3 - Szenario: Bildabschnitte laden