接口测试困难
一、断言
1.数据结构判断(将值的内容忽略)通过字典键值、列表长度
2.判断预期与响应完全一致(列表按顺序或没有列表的情况)
def assert_equal(self,expect_value,response,*args):
    # 响应结果中的列表顺序必须与预期结果的顺序完全一致,否则会断言失败
    global remove_args
    remove_args = [arg for arg in args]
    if isinstance(expect_value,(list,tuple)):
        assert isinstance(response,(list,tuple)),"%s 不是列表,请核查!" %response
        assert len(expect_value) == len(response)
        if len(expect_value) != 0:
            for exp,res in zip(expect_value,response):
                self.assert_equal(exp,res,*args)
    elif isinstance(expect_value,dict):
        assert isinstance(response,dict),"%s 不是字典,请核查!" %response
        for k in expect_value.keys():
            assert k in response.keys()
            if k in remove_args :
                continue
            else:
                # assert k in response.keys()
                self.assert_equal(expect_value[k],response[k],*args)
    elif isinstance(expect_value,(int,bool,str)):
        assert expect_value == response,"%s 不等于 %s" %(expect_value,response)3.判断响应数据是否包含关键字
def assert_contain(self,expect_value,response,*args):
        ‘‘‘ bool型无法转换并判断是否包含‘‘‘
        global remove_args
        remove_args = [arg for arg in args]  # 取消断言的key
        if isinstance(expect_value,(list,tuple)):
            for i in expect_value :
                self.assert_contain(i,response,*args)
        elif isinstance(expect_value,dict) :
            for k,v in expect_value.items():
                if k in remove_args :
                    continue
                else:
                    self.assert_contain(v,response,*args)
        elif isinstance(expect_value,(int,bool)) :
            self.assert_contain(str(expect_value),response,*args)
        elif isinstance(expect_value,str) :
            print(expect_value)
            assert expect_value in json.dumps(response,ensure_ascii=False),"%s 不在响应结果中,请核查!" %expect_value4.判断结果不包含关键字
def assert_not_contain(self,expect,reponse):
        assert expect not in json.dumps(reponse,ensure_ascii=False),"%s 在响应结果中,请核查!" %expect5.下载文件与预期结果对比
二、遇到的困难
1.接口文档在用与废弃未及时更新
2.代码复制,未修改注释,导致接口说明不清晰
相关推荐
  83540690    2020-08-16  
   lustdevil    2020-08-03  
   doupoo    2020-07-28  
   yuzhongdelei0    2020-07-04  
   lustdevil    2020-06-25  
   lustdevil    2020-06-21  
   上班打发    2020-06-14  
   xcguoyu    2020-05-15  
   fanhuasijin    2020-02-17  
   sulindong0    2020-02-15  
   Julywhj    2020-02-02  
   xiaobater    2020-02-02  
   柠檬班    2020-01-30  
   KilluaZoldyck    2020-01-29  
   JackYin    2020-01-24  
   86427019    2020-01-20  
   taoqilin    2020-01-18  
   八角塘塘主    2020-01-04  
 