Gatling解析Strings参数值并将它们转换为函数,这些函数将根据存储在会话中的数据计算结果,然后对其进行评估。
加特林文件
有没有办法在exec中手动执行此操作?
我有多个使用EL属性的请求体模板,发送的请求将因进纸器而异
我目前拥有的代码如下:
// Body itself contains attributes say ${uuid}
val body1 = Source.fromResource("body1.json")
val body2 = Source.fromResource("body2.json")
val scn: ScenarioBuilder = scenario("Dynamic body")
.feed(feeder)
.exec(session => {
if(session("requestType").as[String].equals("first"))
session.set("request", body1)
else
session.set("request", body2)
session
}
.exec(http("Http Call")
.post(url)
.body(StringBody("${request}"))
// This won't evaluate the nested attribute and body will remain ${uuid} instead of an actual UUID
)
我希望没有办法评估嵌套的EL属性,但是有没有办法使用会话变量手动评估它?类似于
.exec(session => {
val evaluatedBody = merge(body1, session)
session("request", evaluatedBody)
session
})
我在其他一些问题中看到过ELCompiler被引用,但不确定从哪里导入它以及如何将其与会话值一起使用
您应该使用带有文件路径参数的ElFileBody
,该参数可以是函数。
val scn = scenario("Dynamic body")
.feed(feeder)
.exec(http("Http Call")
.post(url)
.body(
ElFileBody(session =>
session("requestType").as[String] match {
case "first" => "body1.json"
case _ => "body2.json"
}
)
)
)
我试着用各种“Rest”和“atOnceUser”进行注射。我在留档上没有找到一个好的解决方案。 我的方法是使用本地计数器创建一个名为“getNextNumber()”的函数,以增加“atOnceUser”的数量,但该函数一开始只调用一次。 有什么想法吗? 我的代码:
我有一个包含JSON数组的JSON文件 测验json 我想针对endpoint测试JSON数组中的每个元素,以观察系统针对唯一有效负载的性能 目前我有 测试ervice.scala 我无法从作为JSON Gatling文档称JSON Feeder将数组的每个元素加载到一个记录集合中 https://gatling.io/docs/2.3/session/feeder/ 即: 并将正文设置为 问题是
我有一个加特林记录,现在我想重复这个场景10次,但我遇到了一些问题,我的重复动作只在第一步启动,不会完成场景的整个步骤。我能知道有什么问题吗?我是否需要在每一步中添加重复(10){}?下面是我的scala代码。
我有一个数组,我想用于2个馈线。我希望每个馈线都能够使用数组中的所有值。但似乎值用完了
我需要在Gatling中发出请求,在其中我能够访问会话项(没有表达式语言)。我需要这样做,因为我想将数据注入到来自csv进纸器的请求中。为了演示我的问题,我有一个小例子(没有会话的实际需要)。 以下场景运行良好: 但那一个没有(我得到异常
我只是试着实施下面的策略,从加特林的CSV反馈器中获取价值。 val csvFeeder=csv(“data/Pet1.csv”)。一批圆形 val csvFeeder=csv(“data/Pet1.csv”)。圆形的 两者似乎都很好。我们什么时候用“.batch.circular”代替“.circular”作为Gatling的喂食策略。 谢谢你的帮助。