Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Basic example for adding a value to the Gatling session needed

Tags:

gatling

I want to be able to POST a SOAP request with a configurable value found in my Gatling source. Therefore, I have the following XML ELFileBody stored in the file "request.xml"

...
   <rec:cardNumber>${cardNumber}</rec:cardNumber>
...

I understand that the variable cardNumber must be added to session. There is plenty documentation stating that this is necessary. However, I have found no complete examples on how this is done correctly in the context of an execution.

Given the following Gradle 2.1 code:

    class GetBlacklistStatus extends Simulation {
      val cardNumber="12345"

      object GetBlacklistStatus {
        val soap = exec(http("SOAP Request")
            .post("/myservice")
            .body(ELFileBody("request.xml")).asXML
            .basicAuth("testUSER", "testPASSWORD")
            )
      }
      val httpConf = http
        .baseURL("http://localhost:8080")
        .proxy(Proxy("localhost", 8888))
        .userAgentHeader("Gradle TEST")

      val users= scenario("user").exec(GetBlacklistStatus.soap)

      setUp(
        users.inject(rampUsers(10) over (10 seconds))
      ).protocols(httpConf)
    }

How can I put the declared value cardNumber into the session before the POST?

I am aware that I could use a mechanism such as a feeder to move values into the session for me, but I want to do it directly and hopefully learn something in the process.

like image 266
Karl Ivar Dahl Avatar asked Aug 04 '15 06:08

Karl Ivar Dahl


1 Answers

From the documentation:

.exec(_.set("cardNumber", "12345"))

will do the trick.

like image 53
Pierre DAL-PRA Avatar answered Nov 15 '22 23:11

Pierre DAL-PRA