首页 > 代码库 > JMeter中的关联-正则表达式提取(2)

JMeter中的关联-正则表达式提取(2)

JMeter获取正则表达式中的提取的所有关联值的解决方法:

需求如下:

{:   "error_no":"0",:   "results"::   [:   :   {:   :   :   "total_earnings":"",:   :   :   "num_page":"5",:   :   :   "retrace_rate_thirty":"0.0061",:   :   :   "day_yield_rankings":"",:   :   :   "choose_success_rate":"0",:   :   :   "state":"",:   :   :   "week_yield_rankings":"",:   :   :   "month_yield_rankings":"",:   :   :   "act_id":"",:   :   :   "last_week_yield_rankings":"",:   :   :   "name":"lol",:   :   :   "total_yield":"0.0532",:   :   :   "total_rows":"277",:   :   :   "user_id":"10150",:   :   :   "day_earnings":"",:   :   :   "face_image":"/userImage/10150.jpg",:   :   :   "month_earnings":"",:   :   :   "week_earnings":"",:   :   :   "apply_state":"1",:   :   :   "total_page":"56",:   :   :   "account_id":"204",:   :   :   "turnover_thirty_rate":"0.0941",:   :   :   "strongHold":"平安银行",:   :   :   "month_yield":"-0.0048",:   :   :   "total_yield_rankings":"1",:   :   :   "account_name":"",:   :   :   "week_yield":"0.0013",:   :   :   "cur_page":"1",:   :   :   "face_image_small":"/userImage/small/10150.jpg",:   :   :   "day_yield":"-0.0001":   :   },:   :   {:   :   :   "total_earnings":"",:   :   :   "num_page":"5",:   :   :   "retrace_rate_thirty":"0.0099",:   :   :   "day_yield_rankings":"",:   :   :   "choose_success_rate":"0",:   :   :   "state":"",:   :   :   "week_yield_rankings":"",:   :   :   "month_yield_rankings":"",:   :   :   "act_id":"",:   :   :   "last_week_yield_rankings":"",:   :   :   "name":"冒牌司令",:   :   :   "total_yield":"0.0409",:   :   :   "total_rows":"277",:   :   :   "user_id":"10262",:   :   :   "day_earnings":"",:   :   :   "face_image":"/userImage/10262.jpg",:   :   :   "month_earnings":"",:   :   :   "week_earnings":"",:   :   :   "apply_state":"1",:   :   :   "total_page":"56",:   :   :   "account_id":"671",:   :   :   "turnover_thirty_rate":"0.9981",:   :   :   "strongHold":"双汇发展",:   :   :   "month_yield":"0.0409",:   :   :   "total_yield_rankings":"2",:   :   :   "account_name":"",:   :   :   "week_yield":"0.0341",:   :   :   "cur_page":"1",:   :   :   "face_image_small":"/userImage/small/10262.jpg",:   :   :   "day_yield":"0.0008":   :   },:   :   {:   :   :   "total_earnings":"",:   :   :   "num_page":"5",:   :   :   "retrace_rate_thirty":"0.0009",:   :   :   "day_yield_rankings":"",:   :   :   "choose_success_rate":"1",:   :   :   "state":"",:   :   :   "week_yield_rankings":"",:   :   :   "month_yield_rankings":"",:   :   :   "act_id":"",:   :   :   "last_week_yield_rankings":"",:   :   :   "name":"888",:   :   :   "total_yield":"0.0359",:   :   :   "total_rows":"277",:   :   :   "user_id":"10130",:   :   :   "day_earnings":"",:   :   :   "face_image":"/userImage/10130.jpg",:   :   :   "month_earnings":"",:   :   :   "week_earnings":"",:   :   :   "apply_state":"1",:   :   :   "total_page":"56",:   :   :   "account_id":"38",:   :   :   "turnover_thirty_rate":"0.1873",:   :   :   "strongHold":"平安银行",:   :   :   "month_yield":"0.0048",:   :   :   "total_yield_rankings":"3",:   :   :   "account_name":"",:   :   :   "week_yield":"0.0004",:   :   :   "cur_page":"1",:   :   :   "face_image_small":"/userImage/small/10130.jpg",:   :   :   "day_yield":"-0.0001":   :   },:   :   {:   :   :   "total_earnings":"",:   :   :   "num_page":"5",:   :   :   "retrace_rate_thirty":"0.0027",:   :   :   "day_yield_rankings":"",:   :   :   "choose_success_rate":"0",:   :   :   "state":"",:   :   :   "week_yield_rankings":"",:   :   :   "month_yield_rankings":"",:   :   :   "act_id":"",:   :   :   "last_week_yield_rankings":"",:   :   :   "name":"13131313132",:   :   :   "total_yield":"0.0152",:   :   :   "total_rows":"277",:   :   :   "user_id":"10133",:   :   :   "day_earnings":"",:   :   :   "face_image":"",:   :   :   "month_earnings":"",:   :   :   "week_earnings":"",:   :   :   "apply_state":"1",:   :   :   "total_page":"56",:   :   :   "account_id":"55",:   :   :   "turnover_thirty_rate":"0.03",:   :   :   "strongHold":"江苏吴中",:   :   :   "month_yield":"0.0152",:   :   :   "total_yield_rankings":"4",:   :   :   "account_name":"",:   :   :   "week_yield":"0.0002",:   :   :   "cur_page":"1",:   :   :   "face_image_small":"",:   :   :   "day_yield":"-0.0002":   :   },:   :   {:   :   :   "total_earnings":"",:   :   :   "num_page":"5",:   :   :   "retrace_rate_thirty":"0.0047",:   :   :   "day_yield_rankings":"",:   :   :   "choose_success_rate":"0",:   :   :   "state":"",:   :   :   "week_yield_rankings":"",:   :   :   "month_yield_rankings":"",:   :   :   "act_id":"",:   :   :   "last_week_yield_rankings":"",:   :   :   "name":"谁主沉浮",:   :   :   "total_yield":"0.0129",:   :   :   "total_rows":"277",:   :   :   "user_id":"10256",:   :   :   "day_earnings":"",:   :   :   "face_image":"/userImage/10256.jpg",:   :   :   "month_earnings":"",:   :   :   "week_earnings":"",:   :   :   "apply_state":"1",:   :   :   "total_page":"56",:   :   :   "account_id":"648",:   :   :   "turnover_thirty_rate":"0.493",:   :   :   "strongHold":"安洁科技",:   :   :   "month_yield":"0.0129",:   :   :   "total_yield_rankings":"5",:   :   :   "account_name":"",:   :   :   "week_yield":"-0.0076",:   :   :   "cur_page":"1",:   :   :   "face_image_small":"/userImage/small/10256.jpg",:   :   :   "day_yield":"-0.0054":   :   }:   ],:   "dsName"::   [:   :   "results":   ],:   "error_info":""}

 

现在需要将

name":"lol
name":"冒牌司令
name":"888
name":"13131313132
name":"谁主沉浮

name字段的值获取,并输出所有的值

技术分享

通过查看结果树,是看不到name的所有取值

通过添加后置处理器Debug PostProcessor查看提取的所有结果

可以发现,JMeter的正则表达式提取关联值和lr一样,对于有多个符合结果的,会将所有的结果值保存在一个数组里

技术分享

技术分享

 

既然现在看到提取结果是一个数组,那现在怎么将所有的结果拿出来使用呢?

通过逻辑控制器-ForEach控制器进行数组的循环操作,逐一打印出所有的关联值

技术分享

技术分享

技术分享

技术分享

 

JMeter中的关联-正则表达式提取(2)