千家信息网

python怎么实现接口测试返回数据为字典取值方式

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,本文小编为大家详细介绍"python怎么实现接口测试返回数据为字典取值方式",内容详细,步骤清晰,细节处理妥当,希望这篇"python怎么实现接口测试返回数据为字典取值方式"文章能帮助大家解决疑惑,下
千家信息网最后更新 2026年10月31日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安全错误 数据库的锁怎样保障安全 上海挚品互联网科技有限公司 广东万易互联网科技有限公司惠州分公司 科技互联网企业 互联网和科技创新 中资互联网科技 奇酷互联网科技 迪茉互联网科技 互联网科技logo设计 互联网实体化科技化 江苏南京365互联网科技 中化能源互联网科技招聘 呼和浩特新华互联网科技学院 互联网金融科技元年 南通创西澳互联网科技有限公司 从那以后互联网科技有限公司 西安左小互联网科技有限公司 美国五大互联网科技公司市值多少 宁波允成互联网科技有限公司 株洲百竞科技的互联网营销顾问 小牛互联网科技有限公司地址 广东猪兼强互联网科技有限公司 哈尔滨大商圈互联网科技有限公司 互联网科技官网 广州互联网科技公司 深圳互联网科技公司 互联网科技ppt模板 贵州叶脉互联网科技有限公司所属行业 科技大学互联网 世界互联网科技成果奖 互联网科技手抄报图片
0