Gatling - 将 json 响应转换为案例列表 类
Gatling - convert json response to List of case classes
加特林 2.0。我从服务器收到以下 json 事件:
[
{ "a":"a","b":"b","c":"c","d":"d"},
{ "a":"a1","b":"b1","c":"c1","d":"d2" },
{ "a":"a2","b":"b2","c":"c2","d":"d3" }
]
现在我想将其作为事件列表存储在会话中类
case class Event(a:String:b:String,d:String)
我正在尝试执行以下操作
jsonPath("$.chats.chat[0].events.event").ofType[Seq[Any]].transform(_.map{ l =>
Some(Event(l(0).asInstanceOf[String], l(1).asInstanceOf[String],l(3).asInstanceOf[String])).saveAs("events")
但是这一行不编译:
请帮忙。
之后我想从会话中获取这个列表,我可以通过以下方式做到这一点:
val events = session("events").as[Seq[Events]]
谢谢。
您正在使用 transform,它获取提取结果并将其转换为其他内容。
在这里,因为您没有指定检查序数,所以您使用默认值 find
,这只会让您获得提取步骤的第一个结果。我怀疑 $.chats.chat[0].events.event
是你想要的,它可能 return 一个地图(一个 javascript 对象)。你可能想要 $.chats.chat[0].events
.
然后关于在 Session 中存储和访问数据,如果你不习惯 Scala,你不应该尝试将它们存储在 类 中。
相反,升级到具有改进的 EL 功能的 Gatling 2.1,这样你就可以编写类似 ${event.foo.bar}
的东西(你不能使用 Gatling 2.0)。
加特林 2.0。我从服务器收到以下 json 事件:
[
{ "a":"a","b":"b","c":"c","d":"d"},
{ "a":"a1","b":"b1","c":"c1","d":"d2" },
{ "a":"a2","b":"b2","c":"c2","d":"d3" }
]
现在我想将其作为事件列表存储在会话中类
case class Event(a:String:b:String,d:String)
我正在尝试执行以下操作
jsonPath("$.chats.chat[0].events.event").ofType[Seq[Any]].transform(_.map{ l =>
Some(Event(l(0).asInstanceOf[String], l(1).asInstanceOf[String],l(3).asInstanceOf[String])).saveAs("events")
但是这一行不编译: 请帮忙。
之后我想从会话中获取这个列表,我可以通过以下方式做到这一点:
val events = session("events").as[Seq[Events]]
谢谢。
您正在使用 transform,它获取提取结果并将其转换为其他内容。
在这里,因为您没有指定检查序数,所以您使用默认值 find
,这只会让您获得提取步骤的第一个结果。我怀疑 $.chats.chat[0].events.event
是你想要的,它可能 return 一个地图(一个 javascript 对象)。你可能想要 $.chats.chat[0].events
.
然后关于在 Session 中存储和访问数据,如果你不习惯 Scala,你不应该尝试将它们存储在 类 中。
相反,升级到具有改进的 EL 功能的 Gatling 2.1,这样你就可以编写类似 ${event.foo.bar}
的东西(你不能使用 Gatling 2.0)。