我正在尝试使用 Gatling 2 运行负载测试。我需要在每个请求上动态生成查询参数之一。

我的场景定义如下:

val scn = scenario("Load Test Scenario")
        .exec(
            http("Test API")
            .post(url)
              .body(StringBody("Some XML"))
              .queryParam("x", DigestUtils.md5Hex(generateX().getBytes("UTF-8")))
          )

def generateX() : String = {
    // generate random string and return
}

这只会调用 generateX 一次并在每个请求中使用结果。无论如何都要对每个请求进行 generateX 调用?

任何帮助表示赞赏。

最佳答案

你必须传递一个函数,而不是一个值。见 Gatling documentation about Expression

在这里,您可以丢弃 session 输入参数,因为您不使用它,因此您可以简单地编写:

.queryParam("x", _ => DigestUtils.md5Hex(generateX().getBytes("UTF-8")))

关于scala - 每个请求上的 Gatling 2 动态查询参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26863162/

10-12 04:42