Hi all,
I’ve extended gatling to have ability to run any custom code during simulation (think about java Runnable). Specifically this makes possible to use our backend API clients from gatling simulation instead of using Gatling Http DSL.
Usage from simulation code looks like this:
chainBuilder.exec(RunnableBuilder(“request 1”, session => {
// execute some custom code
session
})).exitHereIfFailed
Extension classes:
-
RunnableBuilder
final case class RunnableBuilder(actionName: String, callback: Session => Session)
extends ActionBuilder() with NameGen {
override def build(ctx: ScenarioContext, next: Action): Action = {
new RunnableAction(ctx.coreComponents.statsEngine,
ctx.coreComponents.clock,
actionName,
next,
callback)
}} -
RunnableAction: