How to run gatling from code
Asked Answered
D

2

8

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?

Diminution answered 26/6, 2015 at 7:51 Comment(0)
W
8
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.

Wayfarer answered 31/1, 2017 at 19:26 Comment(1)
Important to note that data and bodies have to be real directories, not URLs for directories in jars. This makes running Gatling programmatically from a jar rather tricky (need to copy to a temporary directory).Fleda
H
1

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

Hebbe answered 26/6, 2015 at 12:6 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.