python怎么实现接口测试返回数据为字典取值方式
发表于:2024-10-11 作者:千家信息网编辑
千家信息网最后更新 2024年10月11日,本文小编为大家详细介绍"python怎么实现接口测试返回数据为字典取值方式",内容详细,步骤清晰,细节处理妥当,希望这篇"python怎么实现接口测试返回数据为字典取值方式"文章能帮助大家解决疑惑,下
千家信息网最后更新 2024年10月11日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安全错误
数据库的锁怎样保障安全
网络安全比赛总结
作文我与网络安全400字
数据库已经存在数据能否删除索引
计算科学软件开发
填写服务器安全审计表
广东质量软件开发收购价格
锡盟大数据库平台
数据库和客户端工作原理
数据库课设安全管理
网络安全外部防护
用什么软件开发模型
四大数据库资源整合
一打对方电话就说服务器错误
立智网络技术有限公司
和田软件开发行业标准
人防办网络安全检查总结报告
方舟炫彩龙怎么在服务器里打开
关于网络安全宣传的演讲稿
软件开发专业转3d建模专业
我的世界国际版服务器推荐1.8.2
珊瑚礁服务器
网络安全大会照片
保证银行数据库的安全
数据库的安全防护
sql数据库基础知识ppt
湖北中公职位数据库
数据库营销技术案例
软件开发公司翻译
张店hr软件开发公司
省公安厅关于网络安全问题的新闻