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
languagescala
themeRDark
titleSimulationSimple.scala
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
themeRDark
titleplugin execution
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