Beispiel #1
0
 def run_depend(self):
     run_method = RunMethod()
     row_num = self.opera_excel.get_rows_num(self.case_id)
     request_data = {
         'Head':
         '{"UserID":3,"TimeStamp":"1516156123","Sign":"FC7B4D3405863A6D06DC4D6961B708BF"}',
         'Data': self.data.get_data_for_json(row_num)
     }
     header = self.data.is_header(row_num)
     url = self.data.get_request_url(row_num)
     method = self.data.get_request_method(row_num)
     res = run_method.runmain(method, url, request_data, header)
     return json.loads(res)
Beispiel #2
0
class RunTest:
    def __init__(self):
        self.run_method = RunMethod()
        self.data = GetData()
        self.comutil = CommomUtil()
        self.sent_reult_email = SendEmail()

    # 程序执行的主入口
    def go_on_run(self):
        res = None
        rows_count = self.data.get_case_lines()
        i = 0
        pass_ratelist_account = []
        pass_rateinfo_account = []
        fail_ratelist_account = []
        fail_rateinfo_account = []

        # 去除第一行
        for i in range(1, rows_count):
            url = self.data.get_request_url(i)
            method = self.data.get_request_method(i)
            is_run = self.data.get_is_run(i)
            jsondata = self.data.get_data_for_json(i)
            print(jsondata)
            print(type(jsondata))
            reqdata = {
                'Head':
                '{"UserID":3,"TimeStamp":"1516156123","Sign":"FC7B4D3405863A6D06DC4D6961B708BF"}',
                'Data': jsondata
            }
            header = self.data.is_header(i)
            expect = self.data.get_expect_data(i)
            print(reqdata)
            print(type(reqdata))
            depend_case = self.data.is_depend(i)
            rescode = []
            if depend_case != None:
                self.depend_data = DependData(depend_case)
                #返回依赖的响应数据
                depend_response_data_list = self.depend_data.get_data_for_key(
                    i)
                print(depend_response_data_list)
                if depend_response_data_list == None:
                    self.data.write_result(i, '政策列表无政策返回')
                else:
                    ratecode_response_list = depend_response_data_list[0]
                    print(ratecode_response_list)
                    attachment_key_response_list = depend_response_data_list[1]
                    print(attachment_key_response_list)
                    '''
                    #获取依赖的字段
                    depend_key = self.data.get_depend_field(i)
                    print(depend_key)
                    #将配置在json文件中的dependkey的值更新一下
                    print(depend_key[0],depend_key[1])
                    '''
                    sessionidnew = depend_response_data_list[2]
                    for j in range(0, len(ratecode_response_list)):
                        jsondatadict = json.loads(jsondata)
                        #print(jsondatadict['RateCode'],jsondatadict['AttachmentKey'])
                        #从列表接口返回的ratecodelist赋值给请求参数RateCode
                        jsondatadict["RateCode"] = ratecode_response_list[j]
                        # 从列表接口返回的attachmentkeylist赋值给请求参数中的attachmentkey
                        jsondatadict[
                            "AttachmentKey"] = attachment_key_response_list[j]
                        jsondatadict["SessionId"] = sessionidnew
                        #将jsondatadict转为字符串
                        jsondatadict_to_str = json.dumps(jsondatadict)
                        reqdata['Data'] = jsondatadict_to_str
                        print(reqdata)
                        res = json.loads(
                            self.run_method.runmain(method, url, reqdata,
                                                    header))
                        print(res)
                        if self.comutil.is_contain(res, expect[:-1]):
                            rescode.append('Pass')
                            pass_rateinfo_account.append(j)
                            #self.data.write_result(i, rescode.append('Pass'))
                            print(rescode)
                        else:
                            rescode.append(res)
                            fail_rateinfo_account.append(j)
                            #self.data.write_result(i, rescode.append('Failed'))
                            print(rescode)
                        print(rescode)
                    self.data.write_result(i, rescode)
            else:
                if is_run:
                    res = json.loads(
                        self.run_method.runmain(method, url, reqdata, header))
                    print(res)
                if self.comutil.is_contain(res, expect[:-1]):
                    self.data.write_result(i, 'Pass')
                    pass_ratelist_account.append(i)
                    #print("测试通过")
                else:
                    self.data.write_result(i, res)
                    fail_ratelist_account.append(i)
                    #print("测试失败")
            print(len(pass_ratelist_account))
            print(len(fail_ratelist_account))
            print(len(pass_rateinfo_account))
            print(len(fail_rateinfo_account))