Exemplo n.º 1
0
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]
Exemplo n.º 2
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')