异步API的加特林测试

时间:2020-07-30 01:54:04

标签: scala gatling scala-gatling gatling-plugin

我有一个API端点,可以接受如下所示的三个API:

  • POST / runGraph =>开始工作
  • GET / getProject =>获取工作状态
  • POST / runGraphResult =>将给出作业结果

这就是我目前正在加特林做的事

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
      ))

问题是最终报告为我提供了各个请求的统计信息,同时很有趣的是获得了将项目更改为failedsuccessfully-executed所需的实际时间

2

在加特林(Gatling)中,我如何测量第一次对POST /runGraph的API调用与GET /getProject返回状态failedsuccessfully-executed时的时间差?

0 个答案:

没有答案