God_接口入参管理思路

2017-06-02  本文已影响27人  古佛青灯度流年

接口入参管理思路

进行接口测试比较头疼的问题就是入参的处理,

实现思路

  1. 构建模板:模板顾名思义有一套默认值,就是配置好一套完整的初始值
  2. 模板通过字典的形式进行管理
  3. 用例中只需要直接引入模板,然后只需要根据不同用例需求改变模板中需要修改的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)
......
上一篇下一篇

猜你喜欢

热点阅读