Example #1
0
 def get_data_for_json(self, row):
     opera_json = OperationJson()
     data = self.get_request_data(row)
     if data == "none":
         return None
     else:
         request_data = opera_json.get_data(self.get_request_data(row))
         return request_data
Example #2
0
    def run_test(self):
        id = 0
        pass_count = []
        fail_count = []
        row = self.oper_excel.get_data_lines()
        for id in range(1, row):
            is_run = self.getdata.get_is_run_value(id)
            if is_run:
                url = self.getdata.get_url_value(id)
                method = self.getdata.get_request_way_value(id)
                is_header = self.getdata.get_is_header_value(id)
                case_dependent = self.getdata.get_case_dependent_value(id)
                response_dependent = self.getdata.get_response_dependent_value(
                    id)
                data_dependent = self.getdata.get_data_dependent_value(id)
                data = self.getdata.get_data_for_json(id)
                #expect = self.getdata.get_expect_from_mysql(id)
                expect = self.getdata.get_expect_value(id)
                result = self.getdata.get_result_value(id)
                if case_dependent != None:
                    self.dependent = Dependent(case_dependent)
                    dependent_data = self.dependent.dependent_key_values(id)
                    data[data_dependent] = dependent_data
                #print(type(expect))
                if is_header == 'write':
                    res = self.run_method.run_method(method, url, data)
                    #print(res['data']['url'])
                    res = json.loads(res)
                    #print(type(res))
                    oper_header = OperationHeader(res)
                    oper_header.write_cookie()
                elif is_header == 'yes':
                    oper_json = OperationJson(
                        'D:\pycharm\python2\\testdjango\demo\detaconfig\cookie.json'
                    )
                    is_header = oper_json.get_json_data('apsid')
                    cookie = {'apsid': is_header}
                    res = self.run_method.run_method(method, url, data, cookie)
                else:
                    res = self.run_method.run_method(method, url, data)
                #print(id,res,type(res),type(expect))
                #print(expect,res)
        #self.sen_mail.sen_main(pass_count,fail_count)

                if self.common_util.is_contain(expect, res):
                    self.getdata.write_data(id, 'pass')
                    pass_count.append(id)
                    print('pass')
                else:
                    self.getdata.write_data(id, 'fail')
                    fail_count.append(id)
                    print('fail')
        print(len(pass_count))
        self.sen_mail.sen_main(pass_count, fail_count)
Example #3
0
 def go_on_run(self):
     pass_count = []
     fail_count = []
     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_data1 = self.data.get_data_for_json(i)
             request_data = json.dumps(request_data1)
             expect = self.data.get_expect_data(i)
             header1 = self.data.is_header(i)
             header = eval(header1)
             token = self.data.get_token(i)
             depend_case = self.data.is_depend(i)
             if depend_case != None:
                 self.depend_data = DependentData(depend_case)
                 # 响应数据
                 depend_response_data = self.depend_data.get_data_for_key(i)
                 # 获取依赖的key
                 depend_key = self.data.get_depend_field(i)
                 # 数据更新
                 request_data1[depend_key] = depend_response_data
                 request_data = json.dumps(request_data1)
             if token == 'write':
                 res = self.run_method.run_main(method, url, request_data,
                                                header)
                 res = json.loads(res)
                 op_header = OperationHeader()
                 op_header.write_token(res["data"])
                 res = json.dumps(res)
             elif token == 'yes':
                 # 获取当前文件路径
                 current_path = os.path.abspath(__file__)
                 # 获取当前文件的父目录
                 father_path = os.path.dirname(current_path)
                 path = os.path.join(father_path, "wenjian", "cookie.json")
                 op_json = OperationJson(path)
                 token = op_json.get_data("access_token")
                 tokens = {'Authorization': "Bearer " + token}
                 # 将header与token合并
                 header = dict(header, **tokens)
             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")
                 pass_count.append(i)
             else:
                 self.data.write_result(i, res)
                 fail_count.append(i)
     send_main(pass_count, fail_count)
class OperationHeader:
    def __init__(self,response):
        self.response = response
        self.oper_json = OperationJson()

    def get_cookie_url(self):
        #response = json.loads(self.response)
        #print(type(self.response),self.response)
        data = self.response["data"]["url"][0]      #获取返回数据中的url
        return data

    def get_cookie(self):
        url = self.get_cookie_url()+'&callback=jQuery21009892417771030149_1588681864316&_=1588681864318'    #拼接获取cookie请求的url
        cookie = requests.get(url).cookies     #发送请求,并将请求的cookie的返回
        return cookie

    def write_cookie(self):
        cookie = self.get_cookie()
        cookies = requests.utils.dict_from_cookiejar(cookie)    #将cookie转换成字典
        self.oper_json.write_value(cookies)     #写入json
 def run_dependent(self):
     run_method = RunMethod()
     row_num1 = self.opera_excel()
     row_num = row_num1.get_rows_num(self.case_id)
     request_data1 = self.data.get_data_for_json(row_num)
     request_data = json.dumps(request_data1)
     header1 = self.data.is_header(row_num)
     header = eval(header1)
     method = self.data.get_request_method(row_num)
     url = self.data.get_request_url(row_num)
     token = self.data.get_token(row_num)
     if token == 'yes':
         # 获取当前文件路径
         current_path = os.path.abspath(__file__)
         # 获取当前文件的父目录
         father_path = os.path.dirname(current_path)
         path = os.path.join(father_path, "wenjian", "cookie.json")
         op_json = OperationJson(path)
         token = op_json.get_data("access_token")
         tokens = {'Authorization': "Bearer " + token}
         # 将header与token合并
         header = dict(header, **tokens)
     res = run_method.run_main(method, url, request_data, header)
     return json.loads(res)
Example #6
0
	def write_cookie(self):
		cookie = requests.utils.dict_from_cookiejar(self.get_cookie())
		op_json = OperationJson('../dataconfig/login1.json')
		op_json.write_data(cookie)
 def __init__(self,response):
     self.response = response
     self.oper_json = OperationJson()
Example #8
0
 def get_data_for_json(self, row):
     opera_json = OperationJson()
     request_data = opera_json.get_data(self.get_request_data)
     return request_data
 def write_token(self, response):
     op_json = OperationJson()
     op_json.write_data(response)
Example #10
0
 def __init__(self):
     self.opera_excel = OperationExcel()
     self.flag = None
     self.opera_json = OperationJson()