I am considering moving to Gatling 2.0.0-M3a, but I am having issues getting a basic test working. The issue I am having is mapping values to a template file in Gatling 2. The examples below show how I achieved this in Gatling 1.5, but I can’t figure it out in 2.
LoginScenario.scala - works in gatling 1.5<br><br>package StressTesting<br><br>import com.excilys.ebi.gatling.core.Predef._<br>import com.excilys.ebi.gatling.http.Predef._<br>import Headers._<br>import akka.util.duration._<br>import bootstrap._<br><br>object LoginScenario {<br><br> val scn = scenario("Login")<br> .feed(csv("user_credentials.csv"))<br> .exec(<br> http("login")<br> .post("/api/login")<br> .fileBody("loginTemplate",<br> Map(<br> "userName" -> "${userName}",<br> "password" -> "${password}"<br> )<br> ).asJSON<br> .headers(post_header)<br> .check(status.is(200)))<br> }<br>
LoginScenario.scala - ERRORS - Reworked version to accommodate changes between Gatling 1.5 and 2<br>package StressTesting<br><br>import io.gatling.core.Predef._<br>import io.gatling.http.Predef._<br>import Headers._<br>import scala.concurrent.duration._<br>import bootstrap._<br>import io.gatling.core.session.Expression<br><br>object LoginScenario {<br><br> val scn = scenario("Login")<br> .feed(csv("user_credentials.csv"))<br> .exec(<br> http("login")<br> .post("/api/login")<br> .body(ELFileBody("request-bodies/loginTemplate.ssp", <br> Map("userName" -> "${userName}","password" -> "${password}"))).asJSON<br> .headers(post_header)<br> .check(status.is(200))<br> )<br>}<br>
loginTemplate.ssp - Template used in both examples<br>{<br> "userName": "<%= userName %>",<br> "password": "<%= password %>",<br> "platformCode": "app",<br> "clientInformation": {<br> "operatingSystem": "OSX",<br> "operatingSystemVersion": "10.8",<br> "browser": "Chrome",<br> "browserVersion": "31",<br> }<br>}<br>
http://stackoverflow.com/questions/21143077/gatling-2-mapping-values-to-template
|
Just answered on SOF.