如何在gatling中检索响应头并多次执行http调用?

问题描述 投票:0回答:1

我正在尝试找到一种从http调用响应中获取响应标头的方法,例如X-RateLimit-Limit、X-RateLimit-Remaining等。 无法从在线资源或文档中找到,有人可以帮忙吗? 当我启用日志记录时,我在控制台中看到这些标头,但不知道如何从响应中检索这些标头。

http("Get API")
      .get("https://hello.com/list")
      .header("Authorization", "${auth}")
      .check(status.is(200))
      .check(bodyString.saveAs("Auth_Response"))

还有一种方法可以在一个时间范围内多次运行此 http 调用。我应该使用哪些内置方法来循环以及在一定的时间限制内运行此特定的 http 调用?我在下面尝试过但没有成功。理想情况下,我希望能够验证此 API 速率限制,因此尝试了这种方式。虽然我开始明白我不能同时使用重复()持续时间(),但它们有两个我想实现的不同目的。即使只是在 period() 中调用 http 请求构建器类型调用也会抛出错误 - “它不符合预期类型 ChainBuilder

val scn1 =
during (60.seconds) {
  scenario("Setup scenario")
    .repeat(201){
      exec(
      http("Get API")
        .get("https://hello.com/list")
        .header("Authorization", "${auth}")
    )}
  setUp(
    scn1.inject(
      atOnceUsers(1)
    )
  )
}

无论我将 setup() 放在 while() 内部还是外部,都会导致错误。我正在尝试评估是否需要在()期间。仅使用repeat(201)时,它会导致API运行201次并减少api的

X-RateLimit-Remaining
计数,但不足以将其达到0,从而导致错误代码回复。 请问有什么建议吗?

http response gatling rate-limiting scala-gatling
1个回答
5
投票

它在备忘单中https://gadling.io/docs/current/cheat-sheet/(链接已死,回程机器版本:https://web.archive.org/web/20170915100135/http ://galing.io/docs/current/cheat-sheet/

.check(header(headerName)).is(...)
© www.soinside.com 2019 - 2024. All rights reserved.