Ejemplo n.º 1
0
 def handle_data(cls, variable: str) -> dict:
     """请求数据处理
     :param variable: 请求数据,传入的是可转换字典/json的字符串,其中可以包含变量表达式
     return 处理之后的json/dict类型的字典数据
     """
     if variable != '':
         data = rep_expr(variable, cls.response_dict)
         variable = convert_json(data)
         return variable
Ejemplo n.º 2
0
 def assert_result(cls, response: dict, expect_str: str):
     """ 预期结果实际结果断言方法
     :param response: 实际响应字典
     :param expect_str: 预期响应内容,从excel中读取
     return None
     """
     expect_dict = convert_json(expect_str)
     index = 0
     for k, v in expect_dict.items():
         actual = extractor(response, k)
         index += 1
         logger.info(
             f'第{index}个断言,实际结果:{actual} | 预期结果:{v} \n断言结果 {actual == v}')
         allure_step(f'第{index}个断言', f'实际结果:{actual} = 预期结果:{v}')
         assert actual == v
Ejemplo n.º 3
0
 def handler_files(cls, file_obj: str) -> object:
     """file对象处理方法
     :param file_obj: 上传文件使用,格式:接口中文件参数的名称:"文件路径地址"/["文件地址1", "文件地址2"]
     实例- 单个文件: &file&D:
     """
     if file_obj == '':
         return
     for k, v in convert_json(file_obj).items():
         # 多文件上传
         if isinstance(v, list):
             files = []
             for path in v:
                 files.append((k, (open(path, 'rb'))))
         else:
             # 单文件上传
             files = {k: open(v, 'rb')}
     return files
Ejemplo n.º 4
0
 def handler_files(cls, file_obj: str) -> object:
     """
     file对象处理方法
     :param file_obj: 上传文件使用,格式:接口中文件参数的名称:"文件路径地址"/["文件地址1","文件地址2"]
     :return: {"files":["C:\\Users\\ranyong\\Desktop\\b.jpg", "C:\\Users\\ranyong\\Desktop\\c.jpg"]}
     """
     if file_obj == '':
         return
     for k, v in convert_json(file_obj).items():
         # 多文件上传
         if isinstance(v, list):
             files = []
             for path in v:
                 files.append((k, (open(path, 'rb'))))
         else:
             # 单文件上传
             files = {k: open(v, 'rb')}
     return files
Ejemplo n.º 5
0
 def assert_result(cls, response: dict, expect_str: str):
     """ 预期结果实际结果断言方法
     :param response: 实际响应结果
     :param expect_str: 预期响应内容,从excel中读取
     return None
     """
     # 后置sql变量转换
     expect_str = rep_expr(expect_str, DataProcess.response_dict)
     expect_dict = convert_json(expect_str)
     index = 0
     for k, v in expect_dict.items():
         # 获取需要断言的实际结果部分
         actual = extractor(response, k)
         index += 1
         logger.info(
             f'第{index}个断言,实际结果:{actual} | 预期结果:{v} \n断言结果 {actual == v}')
         allure_step(f'第{index}个断言', f'实际结果:{actual} = 预期结果:{v}')
         try:
             assert actual == v
         except AssertionError:
             raise AssertionError(f'断言失败 -|- 实际结果:{actual} || 预期结果: {v}')