class DependentData: def __init__(self, case_id): self.opera_excel = OperationExcel() self.case_id = case_id self.run_method = RunMethod() self.data = GetData() #通过case_id去获取该case_id的整行数据 def get_case_line_data(self): rows_data = self.opera_excel.get_rows_data(self.case_id) return rows_data #执行依赖测试,获取结果 def run_dependent(self): row_num = self.opera_excel.get_row_num(self.case_id) request_data = self.data.get_data_for_json(row_num) header = self.data.is_header(row_num) method = self.data.get_request_method(row_num) url = self.data.get_request_url(row_num) res = self.run_method.run_main(method, url, request_data, header) return res #根据依赖的key去获取执行一来测试case的相应,然后返回 def get_data_for_key(self, row): depend_data = self.data.get_depend_key(row) response_data = self.run_dependent() json_exe = parse(depend_data) madle = json_exe.find(response_data) ''' for i in madle: print(i.value) ''' # 这是一个for循环,普通for循环的简写 return [math.value for math in madle][0]
class RunTest: def __init__(self): self.run_method = RunMethod() self.data = GetData() self.com_util = CommonUtil() self.depend_data = DependentData() #程序执行 def go_on_run(self): res = None rows_count = self.data.get_case_lines() for i in range(1,rows_count): is_run = self.data.get_is_run(i) if is_run: url = self.data.get_request_url(i) method = self.data.get_request_method(i) request_data = self.data.get_data_for_json(i) expect = self.data.get_expcet_data(i) # print('value:'+expect) header = self.data.is_header(i) depend_case = self.data.is_depend(i) # if is_run: # res = self.run_method.run_main(method,url,data,header) # return res if depend_case != None: #获取以来的响应数据 depend_response_data = self.depend_data.get_data_for_key(i) #获取依赖的key depend_key = self.data.get_depend_field(i) request_data[depend_key] = depend_response_data res = self.run_method.run_main(method,url,request_data,header) if self.com_util.is_contain(expect,res): self.data.write_result(i,'pass') # print("测试通过!") else: self.data.write_result(i,'fail')