0db2bb777f4840eb15b3ce9f2fe35a314f0de8d8
Added a load test and and slight change in structure. To execute type: Run the load test: ./gradlew.bat gatlingRun --simulation simulations.LoadTestSimulation -PbaseUrl=https://st.nowchess.janis-eccarius.de -PauthToken=<token> -PmaxUsers=20 -PrampDuration=60 Run smoke test: ./gradlew.bat gatlingRun --simulation simulations.SmokeTestSimulation -PbaseUrl=https://st.nowchess.janis-eccarius.de -PauthToken=<token> --------- Co-authored-by: LQ63 <lkhermann@web.de> Reviewed-on: #2 Reviewed-by: Janis <janis-e@gmx.de>
Gatlin
Load and integration tests for the Kubernetes cluster, built with Gatling (Scala DSL).
Prerequisites
- A JVM (21+) — required to run the Gradle wrapper
- No local Gradle or Scala installation required — the wrapper downloads both automatically
Running simulations
./gradlew gatlingRun \
-PbaseUrl=http://<cluster-service> \
-PauthToken=<bearer-token>
On Windows:
gradlew.bat gatlingRun -PbaseUrl=http://<cluster-service> -PauthToken=<bearer-token>
The bearer token can also be supplied via the environment variable GATLING_AUTH_TOKEN instead of -PauthToken.
Running a specific simulation
./gradlew gatlingRun --simulation simulations.SmokeTestSimulation \
-PbaseUrl=http://<cluster-service> \
-PauthToken=<bearer-token>
Reports
HTML reports are generated under build/reports/gatling/ after each run.
Adding a new simulation
- Create a class in
src/gatling/scala/simulations/that extendsBaseSimulation. - Define your scenario and call
setUp(...).protocols(httpProtocol)— the bearer token and base URL are inherited automatically.
package simulations
import base.BaseSimulation
import io.gatling.core.Predef._
import io.gatling.http.Predef._
class MyServiceSimulation extends BaseSimulation {
private val scn = scenario("My Service")
.exec(
http("GET /api/resource")
.get("/api/resource")
.check(status.is(200))
)
setUp(
scn.inject(rampUsers(10).during(30))
).protocols(httpProtocol)
}
Project structure
src/
gatling/
scala/
base/ - BaseSimulation (shared protocol, auth)
simulations/ - one class per scenario group
resources/
gatling.conf - Gatling configuration overrides
data/ - CSV feeders
bodies/ - request body templates
Languages
Scala
100%