我正在尝试在Gatling 2.2.0中建模服务器到服务器的REST API交互。有几种类型的交互"请求列表然后并行地请求列表中的所有项目#34;但我似乎无法在Gatling中对此进行建模。代码到目前为止:
def groupBy(dimensions: Seq[String], metric: String) = {
http("group by")
.post(endpoint)
.body(...).asJSON
.check(
...
.saveAs("events")
)
}
scenario("Dashboard scenario")
.exec(groupBy(dimensions, metric)
.resources(
// a http() for each item in session("events"), plz
)
)
我已经知道并行请求是由.resources()执行的,但我不知道如何生成一个请求列表来提供它。任何意见都表示赞赏。
答案 0 :(得分:0)
不太确定您的查询,但似乎您需要发送可由{{1}}
执行的并行请求请参阅此http://gatling.io/docs/2.0.0-RC2/general/simulation_setup.html
答案 1 :(得分:0)
以下方法对我有用。 HttpRequestBuilder的Seq将同时执行:
val numberOfParallelReq = 1000
val scn = scenario("Some scenario")
.exec(
http("first request")
.post(url)
.resources(parallelRequests: _*)
.body(StringBody(firstReqBody))
.check(status.is(200))
)
def parallelRequests: Seq[HttpRequestBuilder] =
(0 until numberOfParallelReq).map(i => generatePageRequest(i))
def generatePageRequest(id: Int): HttpRequestBuilder = {
val body = "Your request body here...."
http("page")
.post(url)
.body(StringBody(body))
.check(status.is(200))
}