如何解决如何在jmeter
我有回应 {“ server”:{“ event”:“ broadcast”,“ broadcastaction”:“ events”,“ events”:[{“ cash”:0.0,“ id”:“ 3”,“ action”:“ card”, “ cad”:“ 35”,“得分”:“ 3”,“ cadcount”:“ 1”},{“现金”:0.0,“ id”:“ 0”,“ action”:“关闭”,“ cad “:”-1“,”得分“:” 0“,” cadcount“:” 1“},{”现金“:0.0,” id“:” 3“,”操作“:”卡片“,” cad“ :“ 20”,“得分”:“ 13”,“ cadcount”:“ 2”},{“现金”:0.0,“ id”:“ 0”,“操作”:“关闭”,“ cad”:“ -1“,”得分“:”-5“,” cadcount“:” 2“},{”现金“:0.0,” id“:” 0“,” action“:” cad1oen“,” cad“:” 48“,”得分“:”-5“,” cadcount“:” 1“},{”现金“:0.0,” id“:” 0“,”动作“:”播放“,”值“:”已读“}]}}。此处的ID值从0更改为5
我在websocket文本框架过滤器中使用了{“ cash”:0.0,“ id” :(“ 0” |“ $ {id}”),“ action”:“ play”来捕获上述响应。但是我得到了错误“ java.util.regex.PatternSyntaxException:非法重复”。如何解决此问题?
解决方法
您收到JSON,因此考虑使用JSON Extractor更有意义,该方法允许执行Json Path查询以从JSON响应中获取“有趣的”数据。
特别是在您的情况下,相关的Json Path查询将类似于:
$.server.events[?(@.cash == 0.0 && @.action=='play')].id
演示:
更多信息:JMeter's JSON Path Extractor Plugin - Advanced Usage Scenarios
,很简单。
您可以使用下面的正则表达式来提取所需的数据
{"cash":(.+?),"id":"(.+?)","action":"(.+?)","cad":"(.+?)","score":"(.+?)","cadcount":"(.+?)"}
此正则表达式将按以下方式提取信息:
extractedData_g1 = cash
extractedData_g2 = id
extractedData_g3 = action
extractedData_g4 = cad
extractedData_g5 = score
extractedData_g6 = cadcount
我使用https://regexr.com/来生成此表达式,您可以参考以下屏幕截图
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。