Jmeter之json条件提取实战(三)

     有时我们想通过接口响应数据中的默写条件进行提取对应的字段,这时,就可以用到json条件提取,可以提取对应的值进行使用或迭代。

接口请求地址:

sh.lianjia.com/api/newhouserecommend?type=1&query=https%3A%2F%2Fsh.lianjia.com%2Fershoufang%2F%3Futm_source%3Dbaidu%26utm_medium%3Dpinzhuan%26utm_term%3Dbiaoti%26utm_content%3Dbiaotimiaoshu%26utm_campaign%3Dsousuo%26ljref%3Dpc_sem_baidu_ppzq_x

接口响应数据:

{
    "errno": 0,
    "uniq_id": "010A1A64181308FE356F0175ABDB6D34",
    "data": [
        {
            "outlet_center_tel": "",
            "cover_pic": "https:\/\/image1.ljcdn.com\/hdic-resblock\/prod-09d53f11-de84-4cdd-9fe9-e240310e985fphpnmDROp",
            "project_name": "zxgcbjbjx",
            "project_desc": "品质建筑  交通便捷",
            "bizcircle_id": "611100121",
            "show_price_confirm_time": "0天",
            "discount_realpay": "0",
            "special_tag": "",
            "resblock_alias": "春申大厦",
            "price": "41000",
            "checkin_start_date": null,
            "id": "5020035843156409",
            "min_frame_area": "0",
            "decoration": "毛坯",
            "carRatio": "1:",
            "address_remark": "春申路3555号",
            "allowance": "0",
            "tags": [
            ],
            "permit_all_ready": "1",
            "has_virtual_view": "0",
            "property_address": "",
            "build_id": "5020035843156409",
            "process_status": "3",
            "full_spell": "zhongxuguangchang",
            "evaluate": [
            ],

……

 

提取 "decoration": "毛坯"的所有resblock_alias值:

$..data[?(@.decoration=="毛坯")].resblock_alias

提取结果:

Result[0]=春申大厦
Result[1]=塘和家园栀子锦苑,樾山明月
Result[2]=龙茗路商铺
Result[3]=星月珂汇园

添加Json提取器提取(放置采样器下级):

Variable names:test

JSONPath Expression:$..data[?(@.decoration=="毛坯")].resblock_alias

0随机;n取第几个匹配值;-1匹配所有,后续引用用 变量名_N 取第N个值

Match Numbers:-1

添加debug采样器,查看提取结果:

JMeterVariables:
JMeterThread.last_sample_ok=true
JMeterThread.pack=org.apache.jmeter.threads.SamplePackage@77ed38c5
START.HMS=113707
START.MS=1577158627509
START.YMD=20191224
TESTSTART.MS=1577160022883
__jm__线程组__idx=0
__jmeter.U_T__=线程组 1-1
test_1=龙茗路商铺
test_2=春申大厦
test_3=塘和家园栀子锦苑,樾山明月
test_4=星月珂汇园
test_matchNr=4

如果想使用其中1个提取值,可以用提取变量test拼接第几个值_几,如:test_1、test_5进行使用

如果想迭代提取出来的多个值,可以添加ForEach控制器进行迭代,共提取出来4个值,我们迭代4次,设置如下:

.

查看结果树,发现被引用变量的采样器,最终被迭代了4次

 

 

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王大力测试进阶之路

打赏博主喝瓶水吧!!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值