如何在Jmeter中获取响应数据(sid)?

时间:2016-08-23 04:07:22

标签: regex jmeter jmeter-plugins

我的测试计划(不工作):

+ WebSocket Sampler
  - Regular Expression Extractor

我的正则表达式:

enter image description here

回复数据:

[Message 1]
0{"sid":"1BdTy3e4-jfrVM67AAAR","upgrades":[],"pingInterval":25000,"pingTimeout":60000}

如何获得' sid' ?

2 个答案:

答案 0 :(得分:6)

正则表达式"sid":"(.+?)"没问题。

尝试使用Match no(0 for Random) = 1

对于Regex测试,请参阅此处https://regex101.com/r/yW4oR3/1

答案 1 :(得分:4)

如果您在请求后添加Debug Sampler并查看View Results Tree侦听器,您会看到正则表达式只返回一个匹配项:

Regular Expression Matches

根据Regular Expression Extractor文档:

  

匹配编号指示要使用的匹配项。正则表达式可能会多次匹配。

     
      
  • 使用零值表示JMeter应随机选择匹配。

  •   
  • 正数N表示选择第n个匹配。

  •   
  • 负数与ForEach控制器一起使用 - 见下文。

  •   

因此,匹配号码设置不正确,您需要删除3或将其更改为1

有关识别JMeter测试失败原因的更多信息,请参阅How to Debug your Apache JMeter Script指南