【问题标题】:How to get value extracted from regular expression extractor in Jmeter?如何从 Jmeter 中的正则表达式提取器中提取值?
【发布时间】:2014-04-03 13:28:15
【问题描述】:

我从服务器收到以下 JSON 响应:

{
"global_id": 00001,
"name": "IMG_0747.JPG",  
"time_taken":   {  
"segment_1_time": 1,
"segment_2_time": 1,  
"segment_3_time": 27,  
"segment_4_time": 1,  
"segment_5_time": 16,  
"segment_6_time": 20,  
 }  
}

我想提取segment_1_time、segment_2_time、....、segment_6_time 的值。为此,我在 Regular Expression Extractor 中使用了以下值(仅适用于段 1):

Reference Name: s1time  
Regular Expression: "segment_1_time": (\d+)  
Template: $1$  
Match No: 1  
Default Value: 0  

我在Bean Shell Post Processor中编写了这个脚本来获取segment_1_time的值,以便将其用于进一步处理:

String time_s1= vars.get("s1time");
log.info("Segment 1 time= "+time_s1);  

出于某种原因,我总是在 time_s1 得到 NULL。我也尝试使用 var time_s1 而不是 String time_s1 但它也给出了 null 值。我哪里错了?

【问题讨论】:

    标签: regex jmeter


    【解决方案1】:

    Regexp - 不是解析 JSON 的好方法。 JSON Path extractor - 是一种简单的方法。阅读this 文章(向下滚动到“解析 JSON”标题)了解如何操作

    【讨论】:

      【解决方案2】:

      请在您的正则表达式中进行以下更改以使其正常工作

      正则表达式:.segment_1_time":(.+?),

      “如果你给一个空格,正则表达式提取器不返回值”

      希望这会有所帮助

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-02-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-06-07
        • 1970-01-01
        相关资源
        最近更新 更多