JsonPath在接口自动化中的应用
我理解jsonpath于json而言,就像是xpath在XML中的作用。用来确定json中某部分数据的语言。我更喜欢叫jsonpath表达式,因为这样好像是数学问题。
以前和小伙伴一起写接口自动化的时候,发现了一层一层的剥json串,实在是太费心了。后来也是请教了一位开发,他向我们推荐了这个工具。我们用了下,是真好用!墙裂推荐!
json串结构样例:其实也不是很多层(小伙伴的接口层数特别多),但是就是想偷懒,找个简便的方式去解析它。

这是我的处理方式:

至于rct.read()里面的表达式$是从根节点开始查找..是代表不考虑他们的位置,只管匹配出来即可。其余表达式,见另一个博客,我觉得写得很好:
https://blog.csdn.net/evan_qb/article/details/80745111

JsonPath在接口自动化中的应用的更多相关文章
- 使用 JsonPath 完成接口自动化测试中参数关联和数据验证(Python语言)
背景: 接口自动化测试实现简单.成本较低.收益较高,越来越受到企业重视 restful风格的api设计大行其道 json成为主流的轻量级数据交换格式 痛点: 接口关联 也称为关联参数.在应用业务接口中 ...
- python接口自动化中,注册接口随机生成手机号码
如大家所知在注册接口中,手机号参数需要的是未注册的手机号,而在测试用例中,你写入的手机号不一定是未注册的.所以这时需要对注册接口中传入的手机号做处理.下面我就分享一个课程里面学到的一个处理手机号的py ...
- 一接口自动化中生成测试数据需要用到的java类API--import java.util.Properties;
转载地址: http://www.cnblogs.com/lay2017/p/8596871.html#undefined 写的很详细
- Python接口自动化——soap协议传参的类型是ns0类型的要创建工厂方法纪要
1:在Python接口自动化中,对于soap协议的xml的请求我们可以使用Suds Client来实现,其soap协议传参的类型基本上是有2种: 第一种是传参,不需要再创建啥, 第二种就是ns0类型的 ...
- 接口自动化--读取Excel操作(openpyxl)
上次我们已经将requests库封装成我们想要的样子了,我们的接口自动化已经完成了最开始的一步了,接下来我们需要完成我们相应的其他模块的封装,下面简单介绍下我们在接口自动化需要用到的模块吧在接口自动化 ...
- 接口自动化--数据加密之AES
在接口测试中,会遇到加密的请求数据,例如:常用的base64加密,AES加密,在这里,简述用Python转化AES的加密方法 原理 官网链接:https://pycryptodome.readthed ...
- 基于Python+Requests+Pytest+YAML+Allure实现接口自动化
本项目实现接口自动化的技术选型:Python+Requests+Pytest+YAML+Allure ,主要是针对之前开发的一个接口项目来进行学习,通过 Python+Requests 来发送和处理H ...
- Pytest学习(六) - conftest.py结合接口自动化的举例使用
一.conftest.py作用 可以理解成存放fixture的配置文件 二.conftest.py配置fixture注意事项 pytest会默认读取conftest.py里面的所有fixture co ...
- python+pytest接口自动化(16)-接口自动化项目中日志的使用 (使用loguru模块)
通过上篇文章日志管理模块loguru简介,我们已经知道了loguru日志记录模块的简单使用.在自动化测试项目中,一般都需要通过记录日志的方式来确定项目运行的状态及结果,以方便定位问题. 这篇文章我们使 ...
随机推荐
- 【循环矩阵乘优化DP】BZOJ 2510 弱题
题目大意 有 \(M\) 个球,一开始每个球均有一个初始标号,标号范围为 \(1\) - \(N\) 且为整数,标号为 \(i\) 的球有 \(a_i\) 个,并保证 \(\sum a_i = M\) ...
- nginx 快速安装
必要条件 1能访问外网 2防火墙放开80 3有软件安装权限 依次执行以下命令 一.设置CentOS7的yum源及EPEL yum源 wget -O /etc/yum.repos.d/epel.repo ...
- CRC(循环冗余校验)
关于CRC(循环冗余校验),我在网上看了许多的文章,感觉看的很懵逼,废话一堆(可能是我理解不上去0.0),下面是我的一些理解(如果有误谢谢指出): 关于crc,它主要分为两个部分,一个是发送端通过cr ...
- Jmeter入门(6)- 参数化
一.什么是参数化 为什么要参数化? 在发送大量的请求时,键对值是写死的,每次请求都需要去修改,无法实现快速添加的需求.想要快速实现该需求,就需要用到参数化. 什么是参数化? 根据需求动态获取数据并进行 ...
- NMS总结
目录 NMS总结 一. NMS 二. Soft-NMS 三. IOU-Guided NMS 四. Softer-NMS 五. DIOU-NMS 六. 总结 NMS总结 一. NMS 目标检测:同一个类 ...
- 数据结构(C++)——顺序栈
顺序栈结构 #include<iostream> #define MaxSize 50 using namespace std; typedef int ElemType; typedef ...
- new 正则
在做项目的过程中,使用正则表达式来匹配一段文本中的特定种类字符,是比较常用的一种方式,下面是对常用的正则匹配做了一个归纳整理. 匹配中文:[\u4e00-\u9fa5] 英文字母:[a-zA-Z]数字 ...
- 拖拽编写SVG图形化工具(二)
getAttributesNs/setAttributesNs element.setAttributeNS(namespace,name,value) namespace 是指定属性的命名空间的一个 ...
- 关于机器翻译评价指标BLEU(bilingual evaluation understudy)的直觉以及个人理解
最近我在做Natural Language Generating的项目,接触到了BLEU这个指标,虽然知道它衡量的是机器翻译的效果,也在一些文献的experiment的部分看到过该指标,但我实际上经常 ...
- pycharm配置django rest framework
安装django rest framework pip install 添加rest_framework app 在settings.py INSTALLED_APPS = [ 'django.co ...