我正在尝试使用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.
在这里,你可以放弃会话输入参数,因为你不使用它,所以你可以简单地写:
.queryParam("x",_ => DigestUtils.md5Hex(generateX().getBytes("UTF-8")))