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


Posted in Python onFebruary 12, 2022

接口测试返回数据为字典取值

接口测试通常需要校验返回数据跟预期结果是否一致,这个时候如果返回数据为字典,那么我们要拿到我们想要的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'])

运行结果

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

本次介绍了三个方法,一个循环,一个利用keys()和values(),另外一个直接嵌套取key对应的值。当然大家可以看出来,最后一种方法是最快最简单的。

python接口测试--sign签名

最近测试的项目由于需要给第三方调用,所以增加了安全性的认证,所有的接口调用都需要签名进行验签,

于是研究了一下使用python按照接口签名规范生成sign值。

接口签名规范

1、请求参数中的 sign 参数和为空的参数去除后,剩余的多个键值对,将键按照字典序排序,

并以key1=value1&key2=value2的格式拼成一个字符串

2、拼接的字符串需要URLEncode

3、将开发者的key拼接在第一步中排序后的字符串后面得到待签名字符串

4、使用md5算法加密待加密字符串并转为大写即为sign

实现代码

下面为实现的 代码片。

import time
import requests
import  json
import urllib,hashlib
url = "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 相关文章推荐
python任务调度实例分析
May 19 Python
Python爬虫爬取美剧网站的实现代码
Sep 03 Python
python SMTP实现发送带附件电子邮件
May 22 Python
python读取xlsx的方法
Dec 25 Python
python实现人机猜拳小游戏
Feb 03 Python
解决Ubuntu18中的pycharm不能调用tensorflow-gpu的问题
Sep 17 Python
python Matplotlib数据可视化(1):简单入门
Sep 30 Python
几款Python编译器比较与推荐(小结)
Oct 15 Python
python 实现超级玛丽游戏
Nov 25 Python
python爬虫利器之requests库的用法(超全面的爬取网页案例)
Dec 17 Python
Python3 使用pip安装git并获取Yahoo金融数据的操作
Apr 08 Python
Python OpenCV实现图形检测示例详解
Apr 08 Python
Python socket如何解析HTTP请求内容
Feb 12 #Python
python全面解析接口返回数据
Feb 12 #Python
http通过StreamingHttpResponse完成连续的数据传输长链接方式
Feb 12 #Python
python中出现invalid syntax报错的几种原因分析
Feb 12 #Python
python ConfigParser库的使用及遇到的坑
Feb 12 #Python
Python制作春联的示例代码
Jan 22 #Python
Python制作表白爱心合集
You might like
比较好用的PHP防注入漏洞过滤函数代码
2012/04/11 PHP
laravel实现上传图片并在页面显示的例子
2019/10/14 PHP
PHP并发场景的三种解决方案代码实例
2021/02/27 PHP
Javascript中的数学函数集合
2007/05/08 Javascript
项目实践之javascript技巧
2007/12/06 Javascript
javascript 动态table添加colspan\rowspan 参数的方法
2009/07/25 Javascript
COM中获取JavaScript数组大小的代码
2009/11/22 Javascript
js中有关IE版本检测
2012/01/04 Javascript
JS小功能(offsetLeft实现图片滚动效果)实例代码
2013/11/28 Javascript
JavaScript中的对象的extensible属性介绍
2014/12/30 Javascript
浅谈nodeName,nodeValue,nodeType,typeof 的区别
2015/01/13 Javascript
Js可拖拽放大的层拖动特效实现方法
2015/02/25 Javascript
js实现从右向左缓缓浮出网页浮动层广告的方法
2015/05/09 Javascript
JS特效实现图片自动播放并可控的效果
2015/07/31 Javascript
JavaScript面向对象程序设计教程
2016/03/29 Javascript
jquery mobile 实现自定义confirm确认框效果的简单实例
2016/06/17 Javascript
Node.js中防止错误导致的进程阻塞的方法
2016/08/11 Javascript
js H5 canvas投篮小游戏
2016/08/18 Javascript
JS百度地图搜索悬浮窗功能
2017/01/12 Javascript
js导出Excel表格超出26位英文字符的解决方法ES6
2017/11/15 Javascript
JavaScript Canvas实现验证码
2020/08/02 Javascript
解决Vue2.0中使用less给元素添加背景图片出现的问题
2018/09/03 Javascript
layui lay-verify form表单自定义验证规则详解
2019/09/18 Javascript
python编程线性回归代码示例
2017/12/07 Python
python os模块在系统管理中的应用
2020/06/22 Python
HTML5实现移动端复制功能
2018/04/19 HTML / CSS
Trina Turk官网:美国时装和泳装品牌
2018/06/10 全球购物
学习委员自我鉴定
2014/01/13 职场文书
酒店管理毕业生自我鉴定
2014/03/02 职场文书
优秀实习生主要事迹
2014/05/29 职场文书
党支部书记四风问题整改措施
2014/09/24 职场文书
政风行风整改方案
2014/10/25 职场文书
感恩老师主题班会
2015/08/12 职场文书
2016年第32个教师节红领巾广播稿
2015/12/18 职场文书
大学生创业计划书常用模板
2019/08/07 职场文书
建国70周年的心得体会(2篇)
2019/09/20 职场文书