加特林将数据从馈线传递到执行器

  • 本文关键字:执行 数据 scala gatling
  • 更新时间 :
  • 英文 :


你能帮我如何从exec块中的馈线获取数据吗?当我将exec与会话输入参数一起使用时不是问题,但是当我想与ActionBuilder一起使用时,我不知道该怎么做。文档说使用Gatling EL,但似乎它只能与http协议一起使用。我想使用 gRPC 协议,所以我不能使用 http(( 方法。

你知道怎么做吗?

我的代码:

def runAction : ActionBuilder = {
//TODO how to get parameter1 and parameter2 from session or feeder here.
}
def getRandomData() = Map("parameter1" -> UUID.randomUUID.toString, "parameter2" -> (Random.nextInt(100000) + 700000))
val feeder = Iterator.continually(getRandomData())
scenario("TestGRPC server")
.feed(feeder)
.exec(session => {
val parameter1= session("parameter1").as[String] //here is works
val parameter2= session("parameter2").as[Int] //here is works
println("parameter1: " + parameter1+ "parameter2: " + parameter2) //print diffrent for each execution
session
})
.exec(runAction)
setUp(
grpcScenario.inject(
constantUsersPerSec(2) during (durationInSeconds seconds))
).protocols(grpcConfig)

根据Gatling-grpc文档,有效载荷确实可以采用表达式。

这意味着您应该能够在"runAction"中使用这样的代码

grpc("request name")
.rpc(rpc.method)
.payload("parameter1: ${parameter1}")

最新更新