def run_main(self, method, url, data, cookie=None, get_cookie=None, header=None): host = handleIni.get_value('host') if 'http:' not in url: url = host + url # print(url) if method == 'get': res = self.send_get(url, data, cookie, get_cookie, header) elif method == 'post': res = self.send_post(url, data, cookie, get_cookie, header) else: print('暂不支持该请求方式') res = None try: #尝试使用json解析 res = json.loads(res) except Exception: # print('res结果 不是一个标准的json') pass return res
def write_value(self, data, file_name=None): data_value = json.dumps(data) if file_name == None: file_name = handleIni.get_value('file_cookie.json', 'Config_file') file_path = base_path + file_name with open(file_path, 'w') as f: f.write(data_value)
def read_file(self, file_name=None): if file_name == None: file_name = handleIni.get_value('file_cookie.json', 'Config_file') file_path = base_path + file_name with open(file_path, encoding='utf-8') as f: data = json.load(f) return data
def get_headers(self): file_name = handleIni.get_value('file_headers.json', 'Config_file') data = handleJson.read_file(file_name) return data
def test_run_Main(self, data): get_cookie = None cookie = None header = None is_run = data[int(handleIni.get_value('is_run', 'Excel_column'))] if is_run == 'yes': case_id = data[int(handleIni.get_value('case_id', 'Excel_column'))] is_condition = data[int( handleIni.get_value('is_condition', 'Excel_column'))] if is_condition != None: depend_key = data[int( handleIni.get_value('depend_key', 'Excel_column'))] is_cookie = data[int( handleIni.get_value('is_cookie', 'Excel_column'))] if is_cookie == 'write': get_cookie = {"is_cookie": "web"} elif is_cookie == 'yes': cookie = handleJson.get_value('web') is_header = data[int( handleIni.get_value('is_header', 'Excel_column'))] if is_header == 'yes': header = handleHeader.get_headers() url = data[int(handleIni.get_value('url', 'Excel_column'))] method = data[int(handleIni.get_value('method', 'Excel_column'))] request_data = data[int( handleIni.get_value('request_data', 'Excel_column'))] if request_data: #发送参数为空 request_data = json.loads(data[int( handleIni.get_value('request_data', 'Excel_column'))]) res = baseRequest.run_main(method, url, request_data, cookie, get_cookie, header) # print(res) expect_method = data[int( handleIni.get_value('expect_method', 'Excel_column'))] expect_result = data[int( handleIni.get_value('expect_result', 'Excel_column'))] execute_result = int( handleIni.get_value('execute_result', 'Excel_column')) result_data = int( handleIni.get_value('result_data', 'Excel_column')) row = handleExcel.get_rows_number(case_id) if expect_method == 'text': try: self.assertIn(expect_result, res) # print('case验证通过') handleExcel.write_data(row, execute_result + 1, '通过') handleExcel.write_data(row, result_data + 1, res) except Exception as e: # print('case验证失败') handleExcel.write_data(row, execute_result + 1, '失败') handleExcel.write_data(row, result_data + 1, res) raise e
#! -*-conding:utf-8 -*- #@Time: 2020/6/6 0006 16:39 #@swzhou ''' 读取、操作excel ''' import openpyxl import os import sys base_path = os.path.dirname(os.path.dirname(__file__)) from Router.Common.handle_ini import handleIni file = handleIni.get_value('file_case', 'Config_file') file_path = base_path + file class HandleExcel: def load_excel(self): ''' 加载指定excel文件 :param file: 文件路径 :return: open对象 ''' open = openpyxl.open(file_path) return open def get_sheet_data(self, index=None): ''' 获取excel中指定sheet