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编写函数装饰器
Mar 18 Python
Python基于回溯法子集树模板解决数字组合问题实例
Sep 02 Python
python脚本实现验证码识别
Jun 07 Python
python爬虫URL重试机制的实现方法(python2.7以及python3.5)
Dec 18 Python
python 利用已有Ner模型进行数据清洗合并代码
Dec 24 Python
详解django使用include无法跳转的解决方法
Mar 19 Python
python 数据库查询返回list或tuple实例
May 15 Python
Python基于数列实现购物车程序过程详解
Jun 09 Python
python 实现ping测试延迟的两种方法
Dec 10 Python
Python扫描端口的实现
Jan 25 Python
Python对excel的基本操作方法
Feb 18 Python
使用pandas生成/读取csv文件的方法实例
Jul 09 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
jscript之List Excel Color Values
2007/06/13 Javascript
juqery 学习之四 筛选查找
2010/11/30 Javascript
基于jquery的横向滚动条(滑动条)
2011/02/24 Javascript
jquery实现像栅栏一样左右滑出式二级菜单效果代码
2015/08/24 Javascript
Angular.js与node.js项目里用cookie校验账户登录详解
2017/02/22 Javascript
Vue源码解读之Component组件注册的实现
2018/08/24 Javascript
对angularjs框架下controller间的传值方法详解
2018/10/08 Javascript
使用webpack编译es6代码的方法步骤
2019/04/28 Javascript
javascript canvas检测小球碰撞
2020/04/17 Javascript
[01:07]DOTA2次级职业联赛 - Fpb战队宣传片
2014/12/01 DOTA
[49:11]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第二场 12.20
2020/12/23 DOTA
在centos7中分布式部署pyspider
2017/05/03 Python
老生常谈Python之装饰器、迭代器和生成器
2017/07/26 Python
在Python中分别打印列表中的每一个元素方法
2018/11/07 Python
详解python使用turtle库来画一朵花
2019/03/21 Python
基于spring boot 日志(logback)报错的解决方式
2020/02/20 Python
Python3 利用face_recognition实现人脸识别的方法
2020/03/13 Python
python 递归调用返回None的问题及解决方法
2020/03/16 Python
PHP基于phpqrcode类库生成二维码过程解析
2020/05/28 Python
Python 无限级分类树状结构生成算法的实现
2021/01/21 Python
Python爬取你好李焕英豆瓣短评生成词云的示例代码
2021/02/24 Python
HTML中fieldset标签概述及使用方法
2013/02/01 HTML / CSS
节省高达65%的城市景点费用:Go City
2019/07/06 全球购物
武汉瑞得软件笔试题
2015/10/27 面试题
初级软件工程师面试题 Junior Software Engineer Interview
2015/02/15 面试题
外贸专业求职信
2014/03/09 职场文书
继承公证书样本
2014/04/04 职场文书
三万活动总结
2014/04/28 职场文书
国家奖学金获奖感言
2014/08/16 职场文书
常务副县长“四风”个人对照检查材料思想汇报
2014/10/02 职场文书
领导班子三严三实心得体会
2014/10/13 职场文书
学习走群众路线心得体会
2014/11/05 职场文书
一百条裙子读书笔记
2015/07/01 职场文书
纪检干部学习心得体会
2016/01/23 职场文书
Python爬虫基础之简单说一下scrapy的框架结构
2021/06/26 Python
CSS 实现Chrome标签栏的技巧
2021/08/04 HTML / CSS