python怎么实现接口测试返回数据为字典取值方式
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,本文小编为大家详细介绍"python怎么实现接口测试返回数据为字典取值方式",内容详细,步骤清晰,细节处理妥当,希望这篇"python怎么实现接口测试返回数据为字典取值方式"文章能帮助大家解决疑惑,下
千家信息网最后更新 2025年02月23日python怎么实现接口测试返回数据为字典取值方式
本文小编为大家详细介绍"python怎么实现接口测试返回数据为字典取值方式",内容详细,步骤清晰,细节处理妥当,希望这篇"python怎么实现接口测试返回数据为字典取值方式"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
接口测试返回数据为字典取值
接口测试通常需要校验返回数据跟预期结果是否一致,这个时候如果返回数据为字典,那么我们要拿到我们想要的key对应的values时,需巧妙的运用dict.keys()、dict.values()和for循环,以及列表相关知识点。
实例
这是我调接口返回的数据,该数据为dict类型,我的目标是要拿到account。
#接口返回的数据:api_result = {'code': '000001', 'dataMap': {'data': {'amount': 0, 'billingWeight': 0, 'quantity': 0}}, 'failureString': '', 'failures': [], 'flag': 'success', 'hasError': False, 'message': '请求成功'}
方法
#方法1:print("这是方法1")for i in api_result.keys(): if i == 'dataMap': print(api_result[i]['data']['amount'])#方法2:print("这是方法2")getkey = api_result.get('dataMap')# print(getkey)cc =list(getkey.values())[0]print(cc['amount'])#方法3:print("这是方法3")print(api_result['dataMap']['data']['amount'])
运行结果
本次介绍了三个方法,一个循环,一个利用keys()和values(),另外一个直接嵌套取key对应的值。当然大家可以看出来,最后一种方法是最快最简单的。
python接口测试--sign签名
最近测试的项目由于需要给第三方调用,所以增加了安全性的认证,所有的接口调用都需要签名进行验签,
于是研究了一下使用python按照接口签名规范生成sign值。
接口签名规范
1、请求参数中的 sign 参数和为空的参数去除后,剩余的多个键值对,将键按照字典序排序,
并以key1=value1&key2=value2的格式拼成一个字符串
2、拼接的字符串需要URLEncode
3、将开发者的key拼接在第一步中排序后的字符串后面得到待签名字符串
4、使用md5算法加密待加密字符串并转为大写即为sign
实现代码
下面为实现的 代码片。
import timeimport requestsimport jsonimport urllib,hashliburl = "http://www.xxx.xx"#获取当前的时间戳stamp = time.time()print(stamp)#转换为int类型的13位时间戳timestam = int(round(stamp*1000))print(timestam)time_new = str(timestam)print(type(time_new))data ={ 'appId':'3301820001', "outTradeNo":"20201026001", "amount":"100", "body":"test", "timestamp":time_new, "notifyUrl":"http://localhost:8080/notify",}#将键按照字典序排序data_order = sorted(data.items(),key=lambda x:x[0],reverse=False)#将列表转化为字典data_new = dict(data_order)print(data_new)#将key=value键值对进行url编码datanew = urllib.parse.urlencode(data_new)datadic = datanew + "&key=BF1BDE5A649724056F904A9335B1C1C7455655"print(datadic)#创建md5对象m = hashlib.md5()m= hashlib.md5(datadic.encode())data_md5 = m.hexdigest()#将小写字母切换为大写字母sign=data_md5.upper()print(sign)
读到这里,这篇"python怎么实现接口测试返回数据为字典取值方式"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。
接口
数据
方法
字典
测试
字符
字符串
这是
方式
参数
文章
排序
代码
内容
大写
字母
时间
知识
知识点
类型
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
海康威视智能分析服务器价格
预约停车软件开发
信息网络安全、档案管理岗
剑与远征选经典服务器还是大区
小学生网络安全法内容摘要
t1消费管理系统数据库
深圳亿恩网络技术有限公司
哈利波特怎么看以前玩过的服务器
手机版最乱的我的世界服务器
网络技术啥最吃香
进口网络服务器机柜哪家好
无人机测绘软件开发
网络安全测试员
有多少大学使用沈红编的数据库
浙江dell服务器采购
暴走大侠新服务器
正规网络技术开发范围
软件开发公司费用支出
佛山数字软件开发销售厂
网鼎杯网络安全题库
速卖通怎么分类数据库
安恒数据库安全网关密码
官方数据库的初始密码
成都审计大数据库
南京华瑞软件开发有限公司
数据库索引文件组
刺刀 网络安全
宁夏惠普服务器维修调试哪家便宜
网络安全教育查摆剖析
宁夏服务器维修调试价格