接口入参管理思路
进行接口测试比较头疼的问题就是入参的处理,
- 写在用例文件中,显得太死板,而且工作了比较大,所以需要剥离出来,经过大家的努力现在感觉终于找到了一个相对【数据库、excel、配置文件】更简单一点点的方法,那就是通过模板的形式进行用例入参的管理
实现思路
- 构建模板:模板顾名思义有一套默认值,就是配置好一套完整的初始值
- 模板通过字典的形式进行管理
- 用例中只需要直接引入模板,然后只需要根据不同用例需求改变模板中需要修改的key的value
模板:
in_param.py
class temp:
list_in_param_template= {
'user':'tom',
'status':2,
'userInfo':{
'phone':'13222221111',
'name':'tom',
'age':23,
'sex':1
}
}
#用例_A 入参:
list_in_param_case_a = {
'user':'lili',
'userInfo':{
'name':'lili',
'sex':2
}
}
处理方法:
method.py
from in_param import temp
def updateDict(parm_temp, new_parm):
"""
更新字典
:param parm_temp: 模板字典
:param new_parm: 更新模板字典
:return:
"""
if isinstance(parm_temp,dict) :
for x in range(len(parm_temp)):
temp_key = parm_temp.keys()[x]
temp_value = parm_temp[temp_key]
if isinstance(new_parm,dict):
for y in range(len(new_parm)):
temp_key_b = new_parm.keys()[y]
temp_value_b = new_parm[temp_key_b]
if not isinstance(temp_value,(list,dict)) and not isinstance(temp_value_b,(list,dict)):
if temp_key == temp_key_b:
parm_temp[temp_key] = new_parm[temp_key_b]
updateDict(temp_value,temp_value_b)
return parm_temp
用例中使用方法:
from method import updateDict
......
api = Api()
in_param = InDatabase.updateDict(list.as_list_temp,list.as_list_case_1)
response = api.requet(in_param)
......
网友评论