JsonPath是使用一种简单的方法来提取给定JSON文档的部分内容。
在我们做接口测试时,现在最流行的数据格式就是json格式的,
当碰到复杂json格式时,我们可以使用jsonpath快速的提取数据或者更新数据.
在线测试地址: http://www.e123456.com/aaaphp/online/jsonpath/?
jsonpath学习文档: https://ulrk23br7r.feishu.cn/file/boxcnNEMdBCQHUsdXlsTaWMC59e
jsonpath官方文档: https://goessner.net/articles/JsonPath/index.html#e2
# coding=utf-8
"""
@Project :pachong-master
@File :login_test.py
@Author :gaojs
@Date :2022/7/4 21:15
@Blogs : https://www.gaojs.com.cn
"""
import requests
import jsonpath
# jsonpath学习
# 多个接口使用同一个session对象的话,他会自动的帮我们去管理和关联cookie
session = requests.session()
def post_api_token(userName='admin', password='1234'):
"""
获取token
:return:
"""
url = 'http://localhost:9090/bank/api/login2'
data = {
'userName': userName,
'password': password
}
rsp = session.post(url=url, data=data)
print(rsp.text)
msg = rsp.json().get('message')
print(msg)
global token
token = jsonpath.jsonpath(rsp.json(), '$.data')[0]
print(token)
return token
def query_money():
"""
银行余额查询接口
:return:
"""
url = 'http://localhost:9090/bank/api/query2'
params = {
'userName': 'admin'
}
headers = {
'testfan-token': token
}
rsp = session.get(url=url, headers=headers, params=params)
print(rsp.text)
result = jsonpath.jsonpath(rsp.json(), '$.data')
print(result)
if __name__ == '__main__':
post_api_token()
query_money()