一、jsonpath
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()