我有一个 API 端点,它接受三个 API,如下所示:
- POST /runGraph => 开始工作
- GET /getProject => 获取工作状态
- POST /runGraphResult => 将给出作业结果
这就是我目前对 Gatling 所做的事情
scenario("runGraph Scenario")
.exec(
http("POST runGraph")
.post("/runGraph")
.body(RawFileBody("rungraph_req_body.json"))
.check(
status is 200,
bodyString is "\"\""
))
.tryMax(1000) {
pause(5)
exec(
http("GET getProject")
.get("/getProject").queryParam("id", env.projectId)
.check(
status is 200,
jsonPath("$..status") in ("running", "successfully-executed", "failed")
))
}
.exec(
http("POST runGraphResult")
.post("/runGraphResult")
.body(StringBody(s"""{"projectId":"${env.projectId}"}"""))
.check(
status is 200,
jsonPath("$..run." + env.nodeId + ".result.count").ofType[Int] is numberOfRows
))
这样做的问题是,最终报告为我提供了有关单个请求的统计信息,而获得项目将状态更改为failed
或successfully-executed
我如何在 Gatling 中测量第一次 API 调用POST /runGraph
与GET /getProject
返回状态failed
或返回的时间之间的差异successfully-executed
?