在加特林中传递可选的请求查询参数

Pass optional request query param in gatling

我正在使用 Gatling 3.6.1。
我想将加特林参数附加到请求中,以强制获取不是从缓存中获取的值。我希望它是可配置的,以某种方式在我想强制不使用缓存时附加它,而在其他时候我想使用缓存所以我不会附加参数或至少附加唯一值它.

这是我试过的:

http("ProductReferencesPDP")
      .get(path + "products/${product_code}/references?currentPage=1&pageSize=25&lang=de").queryParam("gatling", session => System.currentTimeMillis().toString)
      .check(jsonPath("$..numberOfPages").exists)

并且它始终附加加特林参数。但是我怎样才能让它成为可选的,意思是这样的:

http("ProductReferencesPDP")
      .get(path + "products/${product_code}/references?currentPage=1&pageSize=25&lang=de").queryParam("gatling", if withCache "" else session => System.currentTimeMillis().toString)
      .check(jsonPath("$..numberOfPages").exists)

但不是这样的。我无法在 if 子句或自定义函数中访问会话。
谢谢!

.queryParam("gatling", if withCache "" else session => System.currentTimeMillis().toString)

您的 if 语句 returns 字符串或函数。这不可能行得通。尝试

.queryParam("gatling", session => if (withCache) "" else System.currentTimeMillis().toString)