diff --git a/pom.xml b/pom.xml
index 2c9880848..af60fd088 100644
--- a/pom.xml
+++ b/pom.xml
@@ -132,6 +132,8 @@
3.4
1.2
4.0.0
+ 2.2.5
+ 2.2.4
18.0
1.4.190
2.3.2
@@ -155,6 +157,7 @@
3.0.1
2.19
1.6.6
+ 2.11.7
2.1.20
2.48.2
1.7.12
diff --git a/webgoat-container/pom.xml b/webgoat-container/pom.xml
index 0db4bf3e7..f9e4f76ae 100644
--- a/webgoat-container/pom.xml
+++ b/webgoat-container/pom.xml
@@ -14,6 +14,29 @@
+
+
+ performance
+
+
+
+ io.gatling
+ gatling-maven-plugin
+ ${gatling-plugin.version}
+
+
+
+ execute
+
+
+
+
+
+
+
+
+
+
@@ -129,6 +152,12 @@
commons-lang3
${commons-lang3.version}
+
+ io.gatling.highcharts
+ gatling-charts-highcharts
+ ${gatling.version}
+ test
+
javax.servlet
jstl
@@ -174,6 +203,11 @@
javax.transaction-api
${javax.transaction-api.version}
+
+ org.scala-lang
+ scala-compiler
+ ${scala.version}
+
@@ -189,7 +223,6 @@
-
diff --git a/webgoat-container/src/test/scala/Simulation.scala b/webgoat-container/src/test/scala/Simulation.scala
new file mode 100644
index 000000000..4e8fe9b42
--- /dev/null
+++ b/webgoat-container/src/test/scala/Simulation.scala
@@ -0,0 +1,27 @@
+import io.gatling.core.Predef._
+import io.gatling.http.Predef._
+import org.apache.commons.lang3.RandomStringUtils
+
+import scala.concurrent.duration._
+
+class BasicSimulation extends Simulation {
+
+ val httpConf = http
+ .baseURL("http://localhost:8080/WebGoat/") // Here is the root for all relative URLs
+ .userAgentHeader("Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:16.0) Gecko/20100101 Firefox/16.0")
+
+ val scn = scenario("Register and automatic login").
+ exec(session =>
+ session.setAll(("username", RandomStringUtils.randomAlphabetic(10)))
+ )
+ .exec(
+ http("Test")
+ .post("register.mvc")
+ .formParam("username", "${username}")
+ .formParam("password", "${username}")
+ .formParam("matchingPassword", "${username}")
+ .formParam("agree", "agree")
+ )
+
+ setUp(scn.inject(atOnceUsers(100)).protocols(httpConf))
+}
\ No newline at end of file