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(object): def __init__(self, xlsx): print(xlsx) self.opera_excel = OperationExcel(xlsx) #获取行数 def get_case_line(self): return self.opera_excel.get_rows() #判断是否执行 def get_is_run(self, row): flag = None col = dataconfig.get_isrun() is_run = self.opera_excel.get_cell_value(row, col) if is_run == 'yes': flag = True else: flag = False return flag #判断是否携带cookie def get_cookie(self, row): flag = None col = dataconfig.get_cookie() cookie = self.opera_excel.get_cell_value(row, col) if cookie == 'yes': return dataconfig.get_cookie() else: return None #判断是否有case依赖 def is_depend(self, row): col = dataconfig.get_depend_case() depend = self.opera_excel.get_cell_value(row, col) if depend == '': return None else: return depend #获取请求方式 def get_request_way(self, row): col = dataconfig.get_request_way() request_way = self.opera_excel.get_cell_value(row, col) return request_way #获取url def get_request_url(self, row): col = dataconfig.get_url() url = self.opera_excel.get_cell_value(row, col) return url #获取请求数据 def get_request_data(self, row): col = dataconfig.get_data() data = self.opera_excel.get_cell_value(row, col) if data == '': return None return data #通过请求数据关键字从json获取请求数据 def getdata(self, row, json_data_name=None): opera_json = OperationJson(json_data_name) request_key = self.get_request_data(row) request_data = opera_json.get_data(request_key) if request_data == '': return None else: return request_data #获取依赖数据的key def get_dependent_key(self, row): col = dataconfig.get_depend_key() depend_key = self.opera_excel.get_cell_value(row, col) if depend_key == '': return None else: return depend_key #获取数据依赖字段 def get_dependent_data(self, row): col = dataconfig.get_depend_file() get_dependent_data = self.opera_excel.get_cell_value(row, col) if get_dependent_data == '': return None else: return get_dependent_data #获取预期结果 def get_expect_data(self, row): col = dataconfig.get_expect() expect_data = self.opera_excel.get_cell_value(row, col) if expect_data == '': return None return expect_data #获取写入实际结果行 def write_result(self, row, value): col = dataconfig.get_result() write = self.opera_excel.write_value(row, col, value) if write == '': return None return write
class GetData(object): def __init__(self): self.opera_excel = OperationExcel() self.json_data = OperationJson() # 获取excel的行数,就是case的数量 def get_case_lines(self): return self.opera_excel.get_rows() # 获取是否执行参数,循环行数,输入列数 def get_is_run(self, row): flag = None col = int(data_config.get_run()) is_run = self.opera_excel.get_value(row, col) if is_run == 'yes': flag = True else: flag = False return flag #获取是否需要header参数 def get_is_header(self, row): col = int(data_config.get_header()) is_header = self.opera_excel.get_value(row, col) if is_header == 'yes': # 写死在data_config模块中 return data_config.get_header_value() else: return None # 获取请求方式 def get_request_method(self, row): col = int(data_config.get_run_type()) request_method = self.opera_excel.get_value(row, col) return request_method # 获取url def get_request_url(self, row): col = int(data_config.get_url()) request_url = self.opera_excel.get_value(row, col) return request_url # 获取请求数据的关键字字段 def get_request_data(self, row): col = int(data_config.get_data()) request_data = self.opera_excel.get_value(row, col) if request_data == '': return None else: return request_data # 通过获取的关键字在自定义的json中拿到对应的data数据 def get_data_json(self, row): request_json_data = self.json_data.get_data(self.get_request_data(row)) return request_json_data # 获得预期结果 def get_expected_results(self, row): col = int(data_config.get_expect()) expected_results = self.opera_excel.get_value(row, col) if expected_results == '': return None else: return expected_results # 写入结果 def write_result(self, row, value): col = int(data_config.get_result()) self.opera_excel.revise_value(row, col, value) # 获取依赖数据的字段 def get_depend_key(self, row): col = int(data_config.get_data_depend()) data = self.opera_excel.get_value(row, col) if data == '': return None else: return data # 判断是否需要依赖 def is_denpend(self, row): col = int(data_config.get_case_depend()) data = self.opera_excel.get_value(row, col) if data == '': return None else: return data # 获取数据依赖字段 def get_depend_file(self, row): col = int(data_config.get_field_depend()) data = self.opera_excel.get_value(row, col) if data == None: return None else: return data # if __name__ == '__main__': # getdata = GetData() # print(getdata.get_request_url(11))