Esempio n. 1
0
class RunTest:
    def __init__(self, file_name=None, sheet_id=0):
        self.data = GetData(file_name, sheet_id)
        self.oper_header = OperationHeader()
        self.run = RunMethod()
        self.comm = Common()
        self.send_mail = SendEmail()

    def go_on_run(self):
        lines = self.data.get_case_lines()
        pass_count = []
        fail_count = []
        for i in range(1, lines):
            is_run = self.data.get_is_run(i)
            if is_run:
                res = None
                url = self.data.get_url(i)
                method = self.data.get_method_type(i)
                fix_request_key = self.data.get_fix_request_key(i)
                request_data = self.data.get_request_for_json(i)
                expected = self.data.get_expected_result(i)
                header = self.data.get_header(i)
                is_depend = self.data.is_depend(i)
                if is_depend is not None:
                    depend_case_id = self.data.get_depend_case_id(i)
                    depend_request = self.data.get_depend_request(i)
                    depend_data = DependData(depend_case_id)
                    depend_response = depend_data.get_data_for_key(i)  # 从依赖接口的返回结果中匹配需要的依赖字段
                    request_data[depend_request] = depend_response
                if header == 'yes':
                    self.oper_header.write_cookie()
                    cookies = self.oper_header.get_cookie()
                    header = {'Cookie': cookies}
                    # json.dump()
                    res = self.run.run_main(url, method, request_data, header)
                else:
                    res = self.run.run_main(url, method, request_data)
                # if self.comm.contrast(expected, res):
                #     print("测试通过")
                #     self.data.write_result(i, 'pass')
                #     pass_count.append(i)
                # else:
                #     print("测试失败")
                #     self.data.write_result(i, res)
                #     fail_count.append(i)
        # self.send_mail.send_main(pass_count,fail_count)

    def run_request_data(self, index, value):
        request_data = self.data.get_request_for_json(index)
        key = self.data.get_fix_request_key(index)
        request_data[key] = value
        return request_data

    def run_expected_data(self, index, value):
        key = self.data.get_expected_result(index)
        expected_data = {}
        expected_data[key] = value
        expected_data = key + ":" + expected_data[key]
        return expected_data
Esempio n. 2
0
    def __init__(self, file_name=None, sheet_id=None):

        self.oper_ini = OperationIni()
        self.oper_h = OperationHeader()
        self.run = RunMethod()
        self.data = GetData(file_name, sheet_id)
        self.vdc = OperationVDC()
        self.accept = None
Esempio n. 3
0
 def run_dependent(self):
     run_method = RunMethod()
     rowx = self.oper_excel.get_row_num(self.case_id)
     url = self.data.get_url(rowx)
     # header = self.data.get_header(rowx)
     request_data = self.data.get_request_for_json(rowx)
     method = self.data.get_method_type(rowx)
     res = run_method.run_main(url, method, request_data)
     return res
Esempio n. 4
0
class VirtualDatacenters(object):
    def __init__(self, file_name, sheet_id):
        self.run = RunMethod()
        self.oper_header = OperationHeader()
        self.vapps = virtualAppliances(file_name, sheet_id)

    def run_api(self):
        url = self.vapps.get_url_xls(3)
        headers = self.vapps.get_headers()
        res = self.run.run_main(url, 'GET', headers=headers)
        print(res)
Esempio n. 5
0
class ApiBase(object):
    def __init__(self, file_name=None, sheet_id=None):

        self.oper_ini = OperationIni()
        self.oper_h = OperationHeader()
        self.run = RunMethod()
        self.data = GetData(file_name, sheet_id)
        self.vdc = OperationVDC()
        self.accept = None

    def get_host(self):
        ip = self.oper_ini.get_value('host', 'url')
        return ip

    def get_flag(self, rowx):
        return self.data.get_flag(rowx)

    def get_path_xls(self, rowx):
        return self.data.get_url(rowx)

    def get_url_xls(self, rowx, vapp_id=None):
        ip = self.get_host()
        path_xls = self.get_path_xls(rowx)
        vdc_id = self.get_vdc_id()
        flag = self.get_flag(rowx)
        url = None
        # 根据flag判断是否需要修改url信息:0为不需要,1是需要替换vdc_id ,2是需要替换vdc_id,vapp_id
        if flag == 0:
            url = ip + path_xls
        elif flag == 1:
            path = path_xls % vdc_id
            url = ip + path
        elif flag == 2:
            path = path_xls % (vdc_id, vapp_id)
            url = ip + path
        return url

    def get_vdc_id(self):
        return self.vdc.get_vdc_id()

    def get_headers(self, accept=None, content_type=None):
        headers = self.oper_h.get_headers(accept, content_type)
        return headers

    def get_request_data(self, rowx):
        return self.data.get_request_for_json(rowx)

    def request_get(self, path, headers):
        url = self.get_url_xls(path)
        res = self.run.run_main(url, 'GET', headers=headers)
        print(res)
Esempio n. 6
0
class OperationVDC(object):

    def __init__(self):
        self.oper_ini = OperationIni()
        self.oper_h = OperationHeader()
        self.run = RunMethod()

    def request_virtualdatacenters(self):
        url = self.oper_ini.get_value('host', 'url') + '/api/cloud/virtualdatacenters'
        accept = 'application/vnd.esage.virtualdatacenters+json;version=3.0'
        headers = self.oper_h.get_headers(accept=accept)
        res = self.run.run_main(url, 'GET', headers=headers)
        id = res['collection'][0]['id']
        return id

    def write_vdc_id(self):
        vdc_id = self.request_virtualdatacenters()
        self.oper_ini.write_value('global', 'virtualdatacenters', str(vdc_id))

    def get_vdc_id(self):
        vdc_id = self.oper_ini.get_value('global', 'virtualdatacenters')
        return vdc_id
Esempio n. 7
0
 def __init__(self, file_name=None, sheet_id=0):
     self.data = GetData(file_name, sheet_id)
     self.oper_header = OperationHeader()
     self.run = RunMethod()
     self.comm = Common()
     self.send_mail = SendEmail()
Esempio n. 8
0
 def __init__(self, file_name, sheet_id):
     self.run = RunMethod()
     self.oper_header = OperationHeader()
     self.vapps = virtualAppliances(file_name, sheet_id)
Esempio n. 9
0
 def __init__(self):
     self.oper_ini = OperationIni()
     self.oper_h = OperationHeader()
     self.run = RunMethod()
Esempio n. 10
0
 def __init__(self):
     self.oper_ini = OperationIni()
     self.oper_h = OperationHeader()
     self.run_method = RunMethod()
     self.oper_json = OperationJson()