Gatling シナリオで次のコードに出くわしました (簡潔/プライバシーのために変更されています)。
val scn = scenario("X")
.repeat(numberOfLoops, "loopName") {
exec((session : Session) => {
val loopCounter = session.getTypedAttribute[Int]("loopName")
session.setAttribute("xmlInput", createXml(loopCounter))
})
.exec(
http("X")
.post("/rest/url")
.headers(headers)
.body("${xmlInput}"))
)
}
これは、repeat ブロックでループに名前を付け、それをセッションから取得し、それを使用して一意の入力 XML を作成しています。次に、その XML をセッションに貼り付け、投稿時に再度抽出します。
ループ反復子に名前を付けてセッションにアクセスする必要をなくしたいと思います。Stream
理想的には、a を使用して XML を生成したいと考えています。
しかし、ガトリングがループを制御しているため、再帰はできません。妥協する必要がありますか、それとも機能的な方法でガトリングを使用できますか (変数やセッションへのアクセスなし)?