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次

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/568293.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python 手动拼接json数据

第一步:分别拼接为字符串 第二步:将字符串转化为list 第三歩:将两个list合并为dict 第四步:将dict转换为接送数据 如: import json keys [a, b, c] values [1, 2, 3] dictionary dict(zip(keys, values)) j …

Python格式化函数format详解

format用法 相对基本格式化输出采用‘%’的方法,format()功能更强大,该函数把字符串当成一个模板,通过传入的参数进行格式化,并且使用大括号‘{}’作为特殊字符代替‘%’使用方法由两种:b.format(a)和format(a,b) fo…

django后端用websocket传输数据

1、websocket服务端发送数据好像只能传输str类型数据。所以先将数据利用json.dumps()进行打包操作 json_data json.dumps(data) 2、websocket客户端接收数据时需要先将json对象进行解码。利用 var obj_temp JSON.parse(str); //由JSON字符串转换为JSON对象 此时若在界面直…

Python自动化测试问题及处理方法(一)

一、接口自动化测试中,会用到测试账号,如何合理运用账号? 账号一般用于接口登录、接口用例传参、操作sql等,目前账号是写到yaml配置文件里,如果1个账户使用会出现资源冲突,可以配置多个账号使用&#xff0…

Python自动化测试|如何解决前置模块及数据依赖(二)

在做接口自动化测试时,遇到下面这个疑惑,然后再群里请教了大家,讨论如下,可以参考下: 讨论1: 上海—橙子探索测试 10:12:34 自动化测试中,提现接口一般会依赖前置功能实名认证、绑卡、设置交易…

django启动时同时使用Schedule启动其他程序

1、安装Schedule 打开cmd输入: pip install schedule 2、打开django项目的views.py 导入模块 from apscheduler.scheduler import Scheduler 输入如下代码: sched Scheduler() # 实例化,固定格式 # sched.interval_schedule(days1,s…

Pytest框架集成Allure定制测试报告详解(一)

Allure简介 Allure是一款非常轻量级并且非常灵活的开源测试报告生成框架。 它支持绝大多数测试框架, 例如TestNG、Pytest、JUint等。它简单易用,易于集成。下面就Pytest如何与Allure集成做详细介绍。 Pytest框架集成Allure Pytest是Python的单元测试框架…

div里面放ul,使ul横向和纵向滚动

js代码: .infoShow{border:1px solid #000;overflow-y:auto;height:340px;}.infoShow ul{margin:0px;padding:0px;float:left;white-space: nowrap;overflow:hidden;}.infoShow ul li{float: left;text-align:left;list-style:none;display: inline;} 注意&#xf…

Pytest+Allure+Jenkins接口自动化项目实战(一)

经过一周多时间,基于pythonpytestexcelallure框架的接口自动化测试初版已基本实现,包括基本配置读取、用例读取、用例执行、sql读取执行、前置数据准备、后置数据清理以及测试报告生成等,环境独立运行、项目独立运行、用例独立运行、jenkins集…

服务器测试网址填写注意事项

1、若服务器和客户端都在本机,则测试ip可用127.0.0.1 2、若服务器在电脑A,客户端在电脑B,则首先A、B电脑需要在同一局域网上,然后测试网址分别为各自ip 3、若是发布在云端,则应使用0.0.0.0 4、django项目的启动命令…

Jmeter BeanShell取样器操作变量(一)

vars: 引用Jmeter线程的局部变量,将 局部变量 改为 全局变量 亦可达到引用全局变量的效果, 连通Jmeter 和 beanshell string user vars.get("user")//获取变量,保存变量 vars.put(String key, String value&#xf…

echarts3 loading动画无法去除解决方案

解决方案一: 不使用showloading,判断传入数据是否为空。 若数据为空,覆盖一层div。 若数据不为空,则隐藏div 解决方案2: 利用echarts的graphic。初始化是加入graphic。有数据时再利用id移除掉graphic。 初始化时&…

Jmeter Beanshell采样器调用JAVA方法(二)

BeanShell Sampler调用添加的java方法 1、BeanShell Sampler里添加java方法 public static String test() {vars.put("jmeter1","111");vars.put("jmeter2","222");vars.put("jmeter3","333");vars.put("j…

grpc服务器和客户端互传数据

一、客户端给服务器传数据 1、data.proto syntax proto3; // 服务定义 service data{// 函数定义 data_request参数 data_reply返回数据rpc serving(data_request) returns (data_reply) {} } message data_request{string cmd 1; } message data_reply{string values 1; } …

Jmeter BeanShell采样器提取接口响应并传递(三)

1、将fastjson-1.2.68.jar放置C:\jmeter\apache-jmeter-5.0\lib路径下 2、CSV 数据文件设置多个手机号 3、添加登录接口,${mobile}调用2种的mobile值 4、登录接口响应数据 5、BeanShell 取样器提取登录接口响应数据 //导入json包 import com.alibaba.fastjson.JSON…

pymysql.err.InternalError: (1054, Unknown column '27D24A3B' in 'where clause')之错误解决

原代码: query_image_path1SELECT imageTempFilename_0,imageTempFilename_1 FROM %s% tablename query_image_path2 where IDprojectTemp%s and IDproject%s and cameraID%s and imageflag%s%(IDprojectTemp,IDproject,cameraID,imageflag) query_image_path_sqlq…

Jmeter BeanShell采样器提取接口响应写入csv文件(四)

1、调用登录接口获取response数据 {"code":0,"msg":"成功","data":{"token":"bearereyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9tZW1iZXItYXBpLnN0MS50ZXN0LmxhbnhpbmthLmNvbVwvMi4wXC91c2Vyc1wvb…

js 给动态li添加动态点击事件

一、给动态li添加动态点击事件 试了网上的on,live,bind绑定&#xff0c;都不起作用。最后看到https://bbs.csdn.net/topics/390414057 上的代码。试了一遍&#xff0c;demo ok。 附上demo&#xff1a; <!DOCTYPE html> <html xmlns"http://www.w3.org/1999/…

Jmeter JDBC Request执行多条SQL语句

之前写过Jmeter操作mysql的文章https://blog.csdn.net/qq_36502272/article/details/88891873今天我们再看下如何操作多条sql语句 1、添加JDBC Connection Configuration并配置 Database URL为MySQL的连接串&#xff0c;如果要执行多条SQL语句&#xff0c;后面还要添加“?al…

Python使用HMACSHA1加密生成签名

按key升序&#xff0c;key不为sign&#xff0c;value不为空&#xff0c;再把key和value拼装成xa&yb格式&#xff0c;然后使用HmacSHA1算法生成签名 import json,hashlib,hmac,base64def sign(data):date_newfor key,value in sorted(data.items()):if key!"sign"…