Gatling 2:并发请求处理

Gatling 2: concurrent request handling

我对 .exec.resources 结合使用时 Gatling 的行为有疑问。 documentation 非常简要地描述了该行为:

Allows to fetch resources in parallel in order to emulate the behaviour of a real web browser

让我们考虑以下简单场景:

  val scn = scenario("Test Scenario")
    .exec(
      http("Base Page").get("/")
        .resources(
          http("Resource A").get(host + "/resource_a.js"),
          http("Resource B").get(host + "/resource_b.js")
        )
    )

    .exec(
      http("Resource X").get(host + "/resource_x.js")
    )

我的问题是:资源 X 的第二个 .exec 块何时被执行?

a) 一旦第一个 .exec 块的 "main request" returns(即当 Base Page 请求 returns)

b) 当第一个 .exec 块的所有请求都返回时(即当 Base Page 以及 Resource A资源 B 已获取)

答案是:b,当所有资源都已经取完后。