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
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)
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)
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()
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)
def __init__(self): self.opera_excel = OperationExcel() self.flag = None self.opera_json = OperationJson()