8
votes

I would like to run Gatling test from code. How to do it? Tutorials says only about command line and sbt.

Context: I would like to extend tests. In background I have custom socket communication which I need to simulate. From that simulation I need to pass some generated Ids to Gatling test. I could do it by running it from my simulation app with parameters (but I don't know yet how). Other solution would be also a good answer.

I could do some passing through file and http://gatling.io/docs/2.1.6/cookbook/passing_parameters.html , but it is ugly..

Maybe there is way to run sbt task from scala code?

2

2 Answers

8
votes
import io.gatling.app.Gatling
import io.gatling.core.config.GatlingPropertiesBuilder

object Engine extends App {

  val props = new GatlingPropertiesBuilder
  props.simulationClass("your.simulation.class.goes.here")
  props.dataDirectory("path.to.data.directory") //optional
  props.resultsDirectory("path.to.results.directory") //optional
  props.bodiesDirectory("path.to.template.directory") //optional
  props.binariesDirectory("path.to.binaries.directory") //optional

  Gatling.fromMap(props.build)
}

Hope this will help.

1
votes

I agree that the documentation on the Gatling website doesn't explain that well (I looked for it the other day) however Gatling has provided an excellent sample with some documentation on how to achieve this:

https://github.com/gatling/gatling-sbt-plugin-demo