class TestCase: def __init__(self): self.opera_execl = OperationExcel() self.base_driver = BaseDriver() def run_main(self): row_num = self.opera_execl.get_rows() for i in range(1, row_num): is_run = self.opera_execl.get_cell(i, 2) if is_run == "no": method = self.opera_execl.get_cell(i, 3) opera = self.opera_execl.get_cell(i, 4) send_value = self.opera_execl.get_cell(i, 5) self.run_method(method, opera, send_value) def run_method(self, method, opera, send_value): base_driver_function = getattr(self.base_driver, method) if send_value == "": if opera == "": base_driver_function() else: base_driver_function(opera) else: base_driver_function(opera, send_value)
class GetData: def __init__(self): self.data = OperationExcel() #获取行数 def get_excel_lines(self): return self.data.get_lines() #获取id def get_test_id(self, row): return self.data.get_cell(row, 0) #获取用例名称 def get_test_name(self, row): return self.data.get_cell(row, 1) #获取url def get_url(self, row): return self.data.get_cell(row, 2) #获取是否执行 def get_is_run(self, row): res = self.data.get_cell(row, 3) if res == "yes": return True else: return False #获取请求方式 def get_methon(self, row): return self.data.get_cell(row, 4) #获取头部信息 def get_header(self, row): res = self.data.get_cell(row, 5) if res != "": return res else: return None #获取请求数据 def get_request_data(self, row): res = self.data.get_cell(row, 9) if res == "": return None else: res = OperaJson().get_data(res) return res #获取预期结果 def get_expect(self, row): res = self.data.get_cell(row, 10) return res #获取依赖id def get_depends_id(self, row): res = self.data.get_cell(row, 6) return res #获取依赖数据 def get_depends_key(self, row): res = self.data.get_cell(row, 7) return res #获取依赖字段 def get_depends_on(self, row): res = self.data.get_cell(row, 8) return res
class GetData: def __init__(self): """ 初始化获取数据类 """ self.opera_excel = OperationExcel() self.data_config = GlobalVar() def get_case_num(self): """ 获取excel行数,就是我们的case个数 :return: case个数 """ return self.opera_excel.get_row() def is_run(self, row): """ 获取是否运行 :param row: 所在行数 :return: 是否运行的布尔值 """ col = int(self.data_config.get_run()) run_model = self.opera_excel.get_cell(row, col) if run_model == 'yes': return True else: return False def is_cookie(self, row): """ 获取是否携带cookie :param row: 所在行数 :return: cookie """ col = int(self.data_config.get_cookie()) cookie = self.opera_excel.get_cell(row, col) if cookie == "no": return None return cookie def is_header(self, row): """ 获取是否携带header :param row: 所在行数 :return: header """ col = int(self.data_config.get_header()) header = self.opera_excel.get_cell(row, col) if header == "no": return None return header def get_method(self, row): """ 获取请求方式 :param row: 所在行数 :return: 请求方式 """ col = int(self.data_config.get_method()) return self.opera_excel.get_cell(row, col) def get_request_url(self, row): """ 获取请求地址 :param row: 所在行数 :return: 请求地址 """ col = int(self.data_config.get_url()) return self.opera_excel.get_cell(row, col) def get_request_data(self, row): """ 获取请求参数 :param row: 所在行数 :return: 请求参数 """ col = int(self.data_config.get_data()) data = self.opera_excel.get_cell(row, col) if data == '': return None return data def get_data_for_json(self, row): """ 通过json获取关键字对应的数据 :param row: 所在行数 :return: 关键字对应的数据 """ operation_json = OperationJson() return operation_json.get_data(self.get_request_data(row)) def get_expect_data(self, row): """ 获取预期结果 :param row: 行数 :return: 预期结果 """ col = int(self.data_config.get_expect()) expect_data = self.opera_excel.get_cell(row, col) if expect_data == ' ': return None return expect_data def write_result(self, row, value): """ 写入实际结果 :param row: 行数 :param value: 写入的值 """ col = int(self.data_config.get_result()) self.opera_excel.write_value(row, col, value) def get_depend_key(self, row): """ 获取依赖的返回数据 :param row: 行数 :return: 返回数据的格式 """ col = int(self.data_config.get_data_depend()) depend_key = self.opera_excel.get_cell(row, col) if depend_key == "": return None else: return depend_key def is_depend(self, row): """ 判断是否有case依赖 :param row: 行数 :return: 返回依赖的用例id """ col = int(self.data_config.get_case_depend()) depend_case_id = self.opera_excel.get_cell(row, col) if depend_case_id == "": return None else: return depend_case_id def get_depend_field(self, row): """ 获取数据依赖字段 :param row: 行数 :return: 返回依赖字段 """ col = int(self.data_config.get_field_depend()) data = self.opera_excel.get_cell(row, col) if data == "": return None else: return data