我试图从此响应中提取security_token:
{}&&{"containers":{"userID":"p8admin","connected":true,"desktop":"icm"},
"userid":"p8admin",
"user_displayname": "p8admin",
"security_token":"-1829880900612241155",
"messages":[{"adminResponse":null,
"moreInformation":null,
"explanation":null,
"number":"0",
"userResponse":null,
"text":"p8admin connect\u00e9."
}]
}
我尝试过将transform和jsonPath结合起来:
.check(bodyString.transform(_.split("&&")(1)).jsonPath("&.security_token").saveAs("security_token"))
但是我收到了这个错误:
value jsonPath is not a member of com.excilys.ebi.gatling.core.check.MatcherCheckBuilder
让我知道是否有一种简单的方法来实现这一目标。
由于
答案 0 :(得分:0)
来自支票文件:
此API提供专用DSL,用于链接以下步骤:
- 定义支票
- 提取
- 转化
- 验证
- 保存
醇>
由于响应无效JSON,因此您需要使用bodyString
作为类型。然后,您可以转换然后保存,但不能返回到步骤1.您可以在transform
步骤中解析JSON所需的值。
正如Stéphane所指出的,获取值的最简单方法是使用regex
检查并直接提取security_token值,只要您不需要任何逻辑的JSON对象的其余部分。
答案 1 :(得分:0)
我有同样的问题,我使用了regex()
这样的功能:
.check(regex(""""security_token":"(.*)",""").saveAs("security_token"))