python字典怎么根据键返回值,python字典对象的方法返回字典的值列表
本文主要介绍python接口测试返回数据为字典值的方式,有很好的参考价值。希望对大家有帮助。如有错误或不足之处,请不吝赐教。
从00-1010接口测试返回的数据是字典值的一个例子。python接口测试签名接口签名规范实现代码
目录
接口测试通常需要检查返回的数据是否与预期结果一致。这时,如果返回的数据是一个字典,就要熟练使用dict.keys()、dict.values()和for循环,在想要得到想要的键对应的值时,列出相关的知识点。
接口测试返回数据为字典取值
这是我的接口返回的数据,是dict类型的,我的目标是得到账号。
#接口返回的数据:
api_result={code: 000001 ,
数据映射 : { 数据 :
{ 金额 : 0,计费重量 : 0,数量 : 0}},
失败字符串 : ,失败 : [],
标志 3360 成功, haserror 3360 false,消息 3360 请求成功 }
方法
#方法1:
打印(“这是方法1”)
对于api_result.keys():中的I
如果i==数据映射 :
print(api_result[i][数据][金额])
#方法2:
打印(“这是方法2”)
getkey=api_result.get(dataMap )
#打印(获取密钥)
cc=list(getkey.values())[0]
打印(抄送[金额])
#方法3:
打印(“这是方法3”)
print(api_result[数据映射][数据][金额])
运行结果
本文介绍了三种方法,一种是循环,一种是使用key()和values(),另一种是直接嵌套得到key对应的值。当然,你可以看到最后一种方法是最快最简单的。
实例
因为最近测试的项目需要调用到第三方,所以增加了安全认证,所有接口调用都需要签名验证。
所以我们研究了如何使用python根据接口签名规范生成sign值。
python接口测试--sign签名
1.在删除请求参数中的符号参数和空参数之后,剩余的键值对按照字典顺序进行排序。
并按照key1=value1key2=value2的格式拼成一个字符串。
2.拼接的字符串需要URLEncode。
3.将开发者的密钥拼接在第一步排序的字符串后面,得到待签名的字符串。
4.用md5算法将待加密的字符串加密并转换成大写,即sign
接口签名规范
下面是实现的代码片段。
导入时间
导入请求
导入json
导入urllib,hashlib
url=http://www.xxx.xx
#获取当前时间戳
stamp=time.time()
打印(盖章)
# 13位时间戳转换为int类型
timestam=int(round(stamp*1000))
打印(timestam)
time_new=str(timestam)
打印(类型(时间_新))
数据={
appId:3301820001 ,
出口贸易编号 :20201026001 ,
金额 :100 :
主体 : 测试:
时间戳 :time_new,
notify URL : http://localhost :8080/notify ,
}
#按字典顺序对键进行排序
data_order=sorted(data.items(),key=lambda x:x[0],reverse=False)
#把清单变成字典
数据_新=字典(数据_顺序)
打印(数据_新)
# url编码键=值键-值对
data new=urllib . parse . urlencode(data _ new)
datadic=data new key=bf1 bde 5a 649724056 f 904 a 9335 B1 C1 c 7455655
打印(数据)
#创建md5对象
m=hashlib.md5()
m=hashlib.md5(datadic.encode())
data_md5=m.hexdigest()
#将小写字母转换为大写字母
sign=data_md5.upper()
打印(签名)
以上个人经验,希望给你一个参考,也希望你能支持盛行的IT软件开发工作室。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。