示例#1
0
    def write_process_base_log_database(self):
        '''
        写接口执行日志入数据库
        :param net_name: 网络环境名
        :param database: 指定数据库
        :return: 数据库写入结果
        '''

        sql = "INSERT INTO process_base_log (report_record,project,task,process_list,create_time,process_begin_time,process_end_time,message) VALUES (\'" + \
              self.process_base_log['report_record'] + "\',\'"+ self.process_base_log['project'] + "\',\'"+ self.process_base_log['task'] + "\',\""+ str(interface_test.set_escape_character(self.process_base_log['process_list'])) + "\",\'"+ str(self.process_base_log['create_time']) + "\',\'" \
               + str(self.process_base_log['process_begin_time']) + "\',\'"+ str(self.process_base_log['process_end_time']) + "\',\""+ str(interface_test.set_escape_character(self.process_base_log['message'])) + "\")"

        sql_exc(sql)
示例#2
0
    def write_process_exc_log_database(self):
        '''
        写接口执行日志入数据库
        :param net_name: 网络环境名
        :param database: 指定数据库
        :return: 数据库写入结果
        '''

        sql = "INSERT INTO process_exc_log (project,task,process_tag,scene,process_status,is_exc,interface_tag,interface_exc_success_num,interface_exc_fail_num,interface_exc_time,exc_status,jump_process_tag,report_record,remark) VALUES (\'" + \
              self.process_log_data['project'] + "\',\'"+ self.process_log_data['task'] + "\',\'"+ self.process_log_data['process_tag'] + "\',\'"+ self.process_log_data['scene'] + "\',\'"+ str(self.process_log_data['process_status']) + "\',\'" \
               + str(self.process_log_data['is_exc']) + "\',\'"+ str(self.process_log_data['interface_tag']) + "\',\'"+ str(self.process_log_data['interface_exc_success_num']) + "\',\'"+ str(self.process_log_data['interface_exc_fail_num']) + "\',\'"+ str(self.process_log_data['interface_exc_time']) + "\',\'"+ str(self.process_log_data['exc_status']) + "\',\'"+ str(self.process_log_data['jump_process_tag']) + "\',\'"\
              + str(self.process_log_data['report_record']) + "\',\"" + str(interface_test.set_escape_character(self.process_log_data['remark'])) + "\")"

        sql_exc(sql)
def interface_excel_to_database(file_path, sheet_name = '接口基础数据'):
    '''将excel里sheet页为interface_base_data的内容写入数据库interface_base_data表中'''
    xh = xlrd_handle()
    xh.set_file_path(file_path)
    xh.set_sheet_name(sheet_name)
    xh.open_workbook()
    xh.open_sheet()
    interface_data = xh.value_to_array()
    if interface_data:
        for i in range(1, len(interface_data)):
            sql = "INSERT INTO interface_base_data (interface_tag,project,main_module,second_module,third_module,method,url,headers,body,is_check,checkpoint,interface_status,remark,author,create_time,modify_time) VALUES (\'" +\
                  str(interface_data[i][0]) + "\',\'" + str(interface_data[i][1]) + "\',\'" + str(interface_data[i][2]) + "\',\'" + str(interface_data[i][3]) + "\',\'" + str(interface_data[i][4]) + "\',\'" + \
                  str(interface_data[i][5]) + "\',\'" + str(interface_data[i][6]) + "\',\'" + str(interface_data[i][7]) + "\',\'" + str(interface_data[i][8]) + "\',\'" + str(interface_data[i][9]) + "\',\'" + \
                  str(interface_data[i][10]) + "\',\'" + str(interface_data[i][11]) + "\',\'" + str(interface_data[i][12]) + "\',\'" + str(interface_data[i][13]) + "\', now(),now())"
            sql_exc(sql)
def process_excel_to_database(file_path, sheet_name = '流程记录'):
    '''将excel里sheet页为process_record的内容写入数据库process_record表中'''
    xh = xlrd_handle()
    xh.set_file_path(file_path)
    xh.set_sheet_name(sheet_name)
    xh.open_workbook()
    xh.open_sheet()
    interface_data = xh.value_to_array()
    if interface_data:
        for i in range(1, len(interface_data)):
            sql = "INSERT INTO process_record (project,task,process_tag,main_scene,second_scene,third_scene,process_status,is_exc,interface_tag,input_parameter,output_parameter,new_checkpoint,check_status,max_exc_num,max_fail_exc_num,success_jump,fail_jump,remark,author,create_time) VALUES (\'" +\
                  str(interface_data[i][0]) + "\',\'" + str(interface_data[i][1]) + "\',\'" + str(interface_data[i][2]) + "\',\'" + str(interface_data[i][3]) + "\',\'" + str(interface_data[i][4]) + "\',\'" + \
                  str(interface_data[i][5]) + "\',\'" + str(interface_data[i][6]) + "\',\'" + str(interface_data[i][7]) + "\',\'" + str(interface_data[i][8]) + "\',\'" + str(interface_data[i][9]) + "\',\'" + \
                  str(interface_data[i][10]) + "\',\'" + str(interface_data[i][11]) + "\',\'" + str(interface_data[i][12]) + "\',\'" + str(interface_data[i][13]) + "\',\'" + str(interface_data[i][14]) + "\',\'" + \
                  str(interface_data[i][15]) + "\',\'" + str(interface_data[i][16]) + "\',\'" + str(interface_data[i][17]) + "\',\'" + str(interface_data[i][18]) + "\', now())"
            sql_exc(sql)
示例#5
0
    def process_take_apart(self, scene_name = ''):
        '''
        根据流程名,获取全部子流程的起始流程
        :param process_name: 待测项目名
        :param task_name: 待测任务名
        :param scene_name: 待测场景名,子场景中间用'=>'隔开,如:登录=>注册
        :return: 可执行流程起始流程list
        '''

        sql = "SELECT process_tag FROM process_record WHERE process_status = 0"
        if self.project != '':
            sql += " AND project = \'" + str(self.project) + "\'"
        if self.task != '':
            sql += " AND task = \'" + str(self.task) + "\'"

        process_scene_list = scene_name.split('=>')
        scene_num = len(process_scene_list)
        if scene_name != '' and '=>' not in scene_name:
            main_scene = scene_name
            sql += " And main_scene = \'" + str(main_scene) + "\'"
        if scene_num >= 2:
            main_scene = process_scene_list[0]
            second_scene = process_scene_list[1]
            sql += " And main_scene = \'" + str(main_scene) + "\' And second_scene = \'" + str(second_scene) + "\'"
        if scene_num == 3:
            third_scene = process_scene_list[2]
            sql += " And third_scene = \'" + str(third_scene) + "\'"
        return sql_exc(sql)
示例#6
0
    def write_interface_exc_log_database(self):
        '''
        写接口执行日志入数据库
        :param log_data: 接口执行日志
        :param net_name: 网络环境名
        :param database: 指定数据库
        :return: 数据库写入结果
        '''

        sql = "INSERT INTO interface_exc_log (interface_tag,`module`,method,url,headers,body,exc_time,response_time,status_code,response_data,is_check,checkpoint,check_result,check_status,remark,project,report_record,cookies) VALUES (\'" + \
              self.log_data['interface_tag'] + "\',\'"+ self.log_data['module'] + "\',\'"+ self.log_data['method'] + "\',\'"+ str(interface_test.set_escape_character(self.log_data['url'])) + "\',\'"+ str(interface_test.set_escape_character(self.log_data['headers'])) + "\',\'" \
               + str(interface_test.set_escape_character(self.log_data['body'])) + "\',\'"+ str(self.log_data['exc_time']) + "\',\'"+ str(self.log_data['response_time']) + "\',\'"+ str(self.log_data['status_code']) + "\',\'"+ str(interface_test.set_escape_character(self.log_data['response_data'])) + "\',\'" \
               + str(self.log_data['is_check']) + "\',\'"+ str(interface_test.set_escape_character(self.log_data['checkpoint'])) + "\',\""+ str(self.log_data['check_result']) + "\",\""+ str(self.log_data['check_status']) + "\",\"" + str(interface_test.set_escape_character(self.log_data['remark'])) + "\",\'" \
              + str(self.log_data['project']) + "\',\'"+ str(self.log_data['report_record']) + "\',\'" + str(interface_test.set_escape_character(self.log_data['cookies'])) + "\')"

        sql_exc(sql)
示例#7
0
 def get_process_record_row_data(self, process_tag):
     '''
     查询process_record中指定process_tag的数据,并返回
     :param process_tag: process_tag,数据库中需唯一
     :return: 查询数据
     '''
     sql = "SELECT project,process_tag,main_scene,second_scene,third_scene,process_status,interface_tag,input_parameter,output_parameter,new_checkpoint,check_status,max_exc_num,max_fail_exc_num,success_jump,fail_jump,is_exc,task,headers_set,cookies_set from process_record WHERE process_tag = \'" + str(process_tag) + "\'"
     return sql_exc(sql)
示例#8
0
 def get_interface_row_data(cls, interface_tag):
     '''
     根据inferface_tag获取指定接口基础数据
     :param interface_tag: interface_tag数据库需唯一
     :return: sql执行结果
     '''
     sql = "SELECT interface_tag,main_module,second_module,third_module,method,url,body,headers,is_check,checkpoint,interface_status,project from interface_base_data WHERE interface_tag = \'" + str(interface_tag) + "\'"
     return sql_exc(sql)
def database_to_excel(table_name, file_path):
    '''
    数据库指定表数据写入excel
    '''
    sql_result = get_table_all_columns(table_name)
    if sql_result:
        if sql_result['row_num'] > 0:
            sql = "select " + sql_result['data'][0][0] + " from " + table_name
            write_data =  sql_exc(sql)

    if write_data:
        if write_data['row_num'] > 0:
            range_num = len(write_data['data'][0])
            xh = xlrd_handle()
            xh.set_file_path(file_path)
            xh.set_sheet_name(table_name)
            xh.open_workbook()
            xh.open_sheet()
            xh.write_to_sheet(write_data['data'],range(1,write_data['row_num'] + 1),range(range_num))
def get_table_all_columns(table_name, table_schema = 'gxs_test'):
    '''获取指定表的全部字段名'''
    sql = "select GROUP_CONCAT(COLUMN_NAME) from information_schema.COLUMNS where table_name = \'" + str(table_name) + "\' and table_schema = \'" + str(table_schema) + "\'"
    return sql_exc(sql)