python接口测试3-JSON格式
发布时间:2020-12-20 10:01:01 所属栏目:Python 来源:网络整理
导读:什么是JSON? 一种轻量级的数据交换格式。它独立于语言和平台,JSON解析器和JSON库支持不同的编程语言。JSON具有自我描述性,很容易理解。 数据格式: { " name " : python " , age " :5 } 接口最常见的数据格式就是JSON,现在我们来实践一下如何开发JSON格
什么是JSON? 一种轻量级的数据交换格式。它独立于语言和平台,JSON解析器和JSON库支持不同的编程语言。JSON具有自我描述性,很容易理解。 数据格式: { "name":python",age":5 } 接口最常见的数据格式就是JSON,现在我们来实践一下如何开发JSON格式的API接口 from flask import Flask,request,jsonify app = Flask(__name__) @app.route(/api/sub/",methods=[POST]) def sub(): if not request.json: # 如果请求数据类型非json return jsonify({code": 100001msg请求类型错误data: None}) not a" in request.json or bin request.json: 如果参数中没有a或者没有b 100002参数缺失: None}) a = request.json.get() b = request.json.get() result = str(float(a) - float(b)) 使用float支持浮点数相减 100000成功": result}) 使用jsonify将字典数据转换为json类型的相应数据 if __name__ == '__main__': app.run(port=5005) 运行此接口 ? ?使用测试工具测试接口 ? 这里需要注意的是此API需要传递的参数必须为JSON格式,否则会报类型错误,原因是JSON格式必须通过headers指定请求内容类型为json,Content-Type: application/json 添加headers后访问成功。 ? ? 通过python代码测试上面的接口
requests json base_url = http://127.0.0.1:5005" test_sub_normal(): url = base_url + headers = {Content-Typeapplication/json"} 1. 必须通过headers指定请求内容类型为json data = {42} data = json.dumps(data) 2. 序列化成字符串 response = requests.post(url=url,headers=headers,data=data) 3. 响应解析 # 响应格式为: {"code":"100000","msg": "成功","data": "2.0"} resp_code = response.json().get() resp_msg = response.json().get() resp_data = response.json().get() print(resp_code,resp_msg,resp_data) 断言 assert response.status_code == 200 assert resp_code == " assert resp_msg == assert resp_data == 2.0' : test_sub_normal() 运行程序: ? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |