python API自动化(Jsonpath断言、接口关联及加密处理)

JsonPath应用及断言 重要

        自动化要解决的核心问题 :进行自动测试-自动校验(进行结果的校验

  1. 主要能够通过这个方式提取数据
  2. 业务场景:断言 、接口关联

{key:value}网址:附:在线解析 JSONPath解析器 - 一个工具箱 - 好用的在线工具都在这里!

json的基本应用:\

        

格式: $路径

基础的应用【必须掌握的】
# 1. $.key 
$.name
# 2. $..key --- 从任意的目录去找
$.name

列表:可以通过下标去进行获取:从0开始
$.hobbies[2]

$..year  --- 所有的年

语法:
$.key[?(@.key==year)]

区间:左闭右开(后面的下标需要+1)
$.projects[0:1]




# 获取根目录下的子字段:获取用户名
$.name
# 获取根目录下的字典中的数据:获取地址中的城市("country": "USA")
$.address.country
# 获取根目录下的列表中的某个数据:获取教育经历
$.education[0]
# 获取根目录下的列表中的所有数据中的某个字段:获取教育经历中的年
$.education[0:].year
# 获取根目录下的列表中满足某个条件的数据:获取教育经历中的年等于2020 的数据,== \!=
$.education[?(@.year==2020)]
# 获取所有的数据
$.*

我们把数据放入pycharm中,在里面编写json代码

        

#  返回的数据类型都是列表格式【重点】
res = jsonpath.jsonpath(data, "$..year")
print(res)
print(type(res))

res = jsonpath.jsonpath(data, "$.name")
print(res)  # 列表
print(res[0])  # 下标获取某个值
print(type(res))

代码示例如下

import json

import requests
import jsonpath

# 案例:登录接口 :
# 接口请求的四要素:URL\ 请求方法 \请求参数\响应数据
#  URL
url = "http://shop-xo.hctestedu.com/index.php?s=/api/user/login"
# 请求参数-- 公共参数-- url
pulic_data = {"application": "app", "application_client_type": "weixin"}
# 请求参数-- body (你的body数据是要以json进行提交,参数:json)
data = {"accounts": "hami", "pwd": "123456", "type": "username"}
# 请求头
header = {'Content-Type': 'application/json; charset=utf-8'}
#  请求头是json,所以数据类型需要转
json_data = json.dumps(data)

# --------------------发送接口请求---------------------------
res = requests.post(url, params=pulic_data, headers=header,data=json_data) # 正确的演示

# --------------------获取响应数据---------------------------
print(res.json())
# print("响应的数据类型:", res.headers)


# --------------------获取数据进行断言处理---------------------------
#  失败案例
exData = "登录成功"
# SjData = jsonpath.jsonpath(res.json(),"$.msg")   #  错误的案例
SjData = jsonpath.jsonpath(res.json(),"$.msg")[0]
# print(SjData)
assert exData == SjData, "期望结构是:{0},实际结果是:{1}".format(exData, SjData)

示例2:

        


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值