3

我有一个 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
      ))

这样做的问题是,最终报告为我提供了有关单个请求的统计信息,而获得项目将状态更改为failedsuccessfully-executed

在此处输入图像描述

我如何在 Gatling 中测量第一次 API 调用POST /runGraphGET /getProject返回状态failed或返回的时间之间的差异successfully-executed

4

0 回答 0