jmeter 从WebSocket响应中提取值

u1ehiz5o  于 2022-11-09  发布在  其他
关注(0)|答案(2)|浏览(257)

我从一个WebSocket得到这个响应
a[“消息\n目的地:/用户/p0000450/队列/投注/地点/状态\n内容类型:应用程序/json\n订阅:/队列/投注/地点/状态-1\n消息ID:p0000450-79\n内容长度:139\n\n{“ID”:“c 00656 b318”,“组ID”:“113686950”,“状态”:“已放置”,“代码”:“0”,“消息”:“已接受编号为113686950的投注单”,“上下文”:{}}\u0000”]
我想提取投注单编号。似乎无法生成将提取此编号的正则表达式?请协助
我计划使用regex提取器和beanshell后处理器将所有响应的数据保存到excel

ev7lccsx

ev7lccsx1#

从提供的信息很难找出所有可能的“投注单号码”的格式,但试试这个:
\bBetSlip with No\.\s*(\d+)\b
它捕获"BetSlip with No."-字符串之前的任意位数。
演示:https://regex101.com/r/NKfVm4/1

xzlaal3s

xzlaal3s2#

最简单的解决方案就是Boundary Extractor,您所需要做的就是提供“左”和“右”边界,JMeter将获取这两个边界之间的所有内容:
所以如果你给予:

  • 左边界为BetSlip with No.
  • 右边界为has been accepted

你会得到你想要的。
如果您必须使用正则表达式提取器来执行此操作,您可以使用以下代码:

BetSlip with No.(\d+) has been accepted

其中:

  • ()-分组
  • d-匹配任何数字
  • +-重复
  • \- meta字符转义

更多信息:JMeter Regular Expressions

相关问题