Exemple #1
0
class GetData:
    def __init__(self):
        self.opera_excel = OperationExcel()

    #获取Excel行数,即case个数
    def get_case_lines(self):
        return self.opera_excel.get_lines()

    #获取是否执行
    def get_is_run(self, row):
        flag = None
        col = data_config.get_run()
        run_model = self.opera_excel.get_cell_value(row, col)
        if run_model == 'Y':
            flag = True
        else:
            flag = False
        return flag

    #是否携带header
    def is_header(self, row):
        col = data_config.get_header()
        header = self.opera_excel.get_cell_value(row, col)
        if header == 'Y':
            return data_config.get_header_value()
        else:
            return None

    #获取请求方式
    def get_request_method(self, row):
        col = int(data_config.get_way())
        request_method = self.opera_excel.get_cell_value(row, col)
        return request_method

    #获取URL
    def get_request_url(self, row):
        col = int(data_config.get_url())
        url = self.opera_excel.get_cell_value(row, col)
        return url

    #获取请求数据
    def get_request_data(self, row):
        col = int(data_config.get_data())
        data = self.opera_excel.get_cell_value(row, col)
        if data == '':
            return None
        else:
            return data

    #通过获取关键字拿到data数据
    def get_data_for_json(self, rowvalue):
        #因为不是所有的情况都会需要使用此方法,所有不需要在构造函数中将此类进行实例化。但是在构造函数中实例化也没有问题
        opera_json = OperationJson()
        request_data = opera_json.get_data(self.get_request_data(rowvalue))
        return request_data

    #获取预期结果
    def get_expect_data(self, row):
        col = int(data_config.get_expresult())
        result_data = self.opera_excel.get_cell_value(row, col)
        if result_data == '':
            return None
        else:
            return result_data

    #写入实际结果
    def write_result(self, row, value):
        col = int(data_config.get_actresult())
        actresult = self.opera_excel.write_value(row, col, value)
        return actresult

    #获取依赖数据的key
    def get_depend_key(self, row):
        col = int(data_config.get_defield())
        depend_key = self.opera_excel.get_cell_value(row, col)
        if depend_key == '':
            return None
        else:
            return depend_key

    #判断是否有case依赖
    def is_depend(self, row):
        col = int(data_config.get_decase())
        depend_case_id = self.opera_excel.get_cell_value(row, col)
        if depend_case_id == "":
            return None
        else:
            return depend_case_id

    #获取数据依赖的字段
    def get_depend_field(self, row):
        col = int(data_config.get_defield())
        depend_field = self.opera_excel.get_cell_value(row, col)
        if depend_field == "":
            return None
        else:
            return depend_field
Exemple #2
0
class GetData:
    '''获取excel的数据值'''
    def __init__(self):
        self.oper_excel = OperationExcel()

    def get_case_lines(self):
        '''
		获取excel行数,即案例个数
		'''
        return self.oper_excel.get_lines()

    def get_is_run(self, row):
        '''
		获取是否允许
		'''
        flag = None
        col = data.data_config.get_run()
        run_model = self.oper_excel.get_cell_value(row, col)
        if run_model == 'yes':
            flag = True
        else:
            flag = False
        return flag

    def is_header(self, row):
        '''
		获取是否有header
		'''
        col = data.data_config.get_header()
        header = self.oper_excel.get_cell_value(row, col)
        '''
		if header == 'yes' :
			return data.data_config.get_header_value()
		else:
			return None
		'''
        if header == 'yes' or 'write':
            return header
        else:
            return None

    def get_request_method(self, row):
        '''
		获取请求方式
		'''
        col = data.data_config.get_request_way()
        request_method = self.oper_excel.get_cell_value(row, col)
        return request_method

    def get_request_url(self, row):
        col = data.data_config.get_url()
        url = self.oper_excel.get_cell_value(row, col)
        return url

    def get_request_data(self, row):
        col = data.data_config.get_data()
        request_data = self.oper_excel.get_cell_value(row, col)
        if request_data == '':
            return None
        else:
            return request_data

    def get_data_from_json(self, row):
        data_from_json = self.get_request_data(row)
        request_data = OperationJson().get_data(data_from_json)
        return request_data

    def get_expect_data(self, row):
        col = data.data_config.get_expect()
        expect_data = self.oper_excel.get_cell_value(row, col)
        if expect_data == '':
            return None
        else:
            return expect_data

    def get_expect_data_for_mysql(self, row):
        sql = self.get_expect_data(row)
        if sql[:6] == 'select':
            res = OperationMysql().search_one(sql)
            expect_type = 'sql'
        else:
            res = sql
            expect_type = 'notsql'
        return res, expect_type

    def write_result(self, row, value):
        col = data.data_config.get_result()
        self.oper_excel.write_value(row, col, value)

    def get_depend_key(self, row):
        col = data.data_config.get_data_depend()
        depend_key = self.oper_excel.get_cell_value(row, col)
        if depend_key == '':
            return None
        else:
            return depend_key

    def get_field_depend_value(self, row):
        col = data.data_config.get_field_depend()
        field_depend_value = self.oper_excel.get_cell_value(row, col)
        if field_depend_value == '':
            return None
        else:
            return field_depend_value

    def get_case_depend_value(self, row):
        col = data.data_config.get_case_depend()
        get_case_depend_value = self.oper_excel.get_cell_value(row, col)
        if get_case_depend_value == '':
            return None
        else:
            return get_case_depend_value
class GetData:
    def __init__(self, file_name=None, sheet_id=None):
        self.file_name = file_name
        self.sheet_id = sheet_id
        self.opera_excel = OperationExcel(self.file_name, self.sheet_id)  #实例化
        self.global_var = GlobalVar()  #实例化

    #去获取excel行数,就是我们的case个数
    def get_case_lines(self):
        return self.opera_excel.get_lines()

    # 获取id单元格内的内容
    def get_id_content(self, row):
        col = int(self.global_var.id)  #获取id所在的列数
        id_content = self.opera_excel.get_cell_value(row, col)  #获取指定单元格的内容
        if id_content == '':
            return None
        else:
            return id_content

    #获取title单元格内的内容
    def get_title_content(self, row):
        col = int(self.global_var.title)  #获取title所在的列数
        title_content = self.opera_excel.get_cell_value(row, col)  #获取指定单元格的内容
        if title_content == '':
            return None
        else:
            return title_content

    #获取out_json_file单元格内的内容
    def get_out_json_file_content(self, row):
        col = int(self.global_var.out_json_file)  #获取out_json_file所在的列数
        out_json_file_content = self.opera_excel.get_cell_value(
            row, col)  #获取指定单元格的内容
        if out_json_file_content == '':
            return None
        else:
            return out_json_file_content

    #获取out_login_url单元格内的内容
    def get_out_login_url_content(self, row):
        col = int(self.global_var.out_login_url)  #获取out_login_url所在的列数
        out_login_url_content = self.opera_excel.get_cell_value(
            row, col)  #获取指定单元格的内容
        if out_login_url_content == '':
            return None
        else:
            return out_login_url_content

    #获取out_login_account_xpath单元格内的内容
    def get_out_login_account_xpath_content(self, row):
        col = int(
            self.global_var.out_login_account_xpath)  #获取out_login_account所在的列数
        out_login_account_xpath_content = self.opera_excel.get_cell_value(
            row, col)  #获取指定单元格的内容
        if out_login_account_xpath_content == '':
            return None
        else:
            return out_login_account_xpath_content

    #获取out_login_account_text单元格内的内容
    def get_out_login_account_text_content(self, row):
        col = int(self.global_var.out_login_account_text
                  )  #获取out_login_account_text所在的列数
        out_login_account_text_content = self.opera_excel.get_cell_value(
            row, col)  #获取指定单元格的内容
        if out_login_account_text_content == '':
            return None
        else:
            return out_login_account_text_content

    #获取out_login_password_xpath单元格内的内容
    def get_out_login_password_xpath_content(self, row):
        col = int(self.global_var.out_login_password_xpath
                  )  #获取out_login_password_xpath所在的列数
        out_login_password_xpath_content = self.opera_excel.get_cell_value(
            row, col)  #获取指定单元格的内容
        if out_login_password_xpath_content == '':
            return None
        else:
            return out_login_password_xpath_content

    #获取out_login_password_text单元格内的内容
    def get_out_login_password_text_content(self, row):
        col = int(self.global_var.out_login_password_text
                  )  #获取out_login_password_text所在的列数
        out_login_password_text_content = self.opera_excel.get_cell_value(
            row, col)  #获取指定单元格的内容
        if out_login_password_text_content == '':
            return None
        else:
            return out_login_password_text_content

    #获取out_login_button_xpath单元格内的内容
    def get_out_login_button_xpath_content(self, row):
        col = int(self.global_var.out_login_button_xpath
                  )  #获取out_login_button_xpath所在的列数
        out_login_button_xpath_content = self.opera_excel.get_cell_value(
            row, col)  #获取指定单元格的内容
        if out_login_button_xpath_content == '':
            return None
        else:
            return out_login_button_xpath_content

    #写入test_result
    def write_test_result(self, row, value):
        col = int(self.global_var.test_result)  #获取test_result所在的列数
        self.opera_excel.write_value(row, col, value)  #向指定的单元格写入内容

    #写入test_description
    def write_test_description(self, row, value):
        col = int(self.global_var.test_description)  #获取test_description所在的列数
        self.opera_excel.write_value(row, col, value)  #向指定的单元格写入内容
Exemple #4
0
class GetData:
    def __init__(self, path, sheetNum):
        self.opera_excel = OperationExcel(path, sheetNum)
        # self.opera_excel = OperationExcel('../dataconfig/OA.xls', 0)

    #去获取excel行数,就是我们的case个数
    def get_excel_name(self):
        return self.opera_excel.get_name()

    #去获取excel行数,就是我们的case个数
    def get_case_lines(self):
        return self.opera_excel.get_lines()

    #获取是否执行
    def get_is_run(self, row):
        flag = None
        col = int(data_config.get_run())
        run_model = self.opera_excel.get_cell_value(row, col)
        if run_model == 'yes':
            flag = True
        else:
            flag = False
        return flag

    #是否携带header
    def is_header(self, row):
        col = int(data_config.get_header())
        header = self.opera_excel.get_cell_value(row, col)
        if header != '':
            return header
        else:
            return None

    #获取请求方式
    def get_request_method(self, row):
        col = int(data_config.get_run_way())
        request_method = self.opera_excel.get_cell_value(row, col)
        return request_method

    #获取case id
    def get_case_id(self, row):
        col = int(data_config.get_id())
        id = self.opera_excel.get_cell_value(row, col)
        return id

    #获取case名称
    def get_case_name(self, row):
        col = int(data_config.get_name())
        id = self.opera_excel.get_cell_value(row, col)
        return id

    #获取url
    def get_request_url(self, row):
        col = int(data_config.get_url())
        url = self.opera_excel.get_cell_value(row, col)
        return url

    #获取请求数据
    def get_request_data(self, row):
        col = int(data_config.get_data())
        data = self.opera_excel.get_cell_value(row, col)
        if data == '':
            return None
        return data

    #通过获取关键字拿到data数据
    def get_data_for_json(self, row):
        # 通过json_path单元格获取制定的json模块的data(excel的json路径列)
        json_path = self.get_path_json(row)
        opera_json = OperetionJson(json_path)
        request_data = opera_json.get_data(self.get_request_data(row))
        return request_data

    #获取预期结果
    def get_expcet_data(self, row):
        col = int(data_config.get_expect())
        # print "预期结果"
        expect = self.opera_excel.get_cell_value(row, col)
        if expect == '':
            return None
        return expect

    #获取用来做结果比对的sql查询语句
    def get_sql_result_data(self, row):
        col = int(data_config.get_sql_result())
        # print "获取用来做结果比对的sql查询语句"
        sql_result = self.opera_excel.get_cell_value(row, col)
        if sql_result == '':
            return None
        return sql_result

    #获取sql依赖单元格的查询语句
    def get_sql_rely_result_data(self, row):
        col = int(data_config.get_data_depend_sql())
        # print "获取sql依赖单元格的查询语句"
        sql_result = self.opera_excel.get_cell_value(row, col)
        if sql_result == '':
            return None
        return sql_result

    #通过sql获取预期结果
    def get_one_sql_data(self, row, get_data):
        sql = get_data(row)
        # print sql
        # 这里做判断,预期结果内有sql命令,才去运行sql
        if sql != None:
            op_mysql = OperationMysql()
            res = op_mysql.search_one(sql)
            # return res.decode('unicode-escape')
            # print(res.encode('utf-8').decode('gb18030'))
            # print(type((res.encode('utf-8').decode('gb18030'))))
            return res.encode('utf-8').decode('unicode_escape')

        else:
            return None

    def get_all_sql_data(self, row, get_data):
        sql = get_data(row)
        # print sql
        # 这里做判断,预期结果内有sql命令,才去运行sql
        if sql != None:
            op_mysql = OperationMysql()
            res = op_mysql.search_all(sql)
            # return res.decode('unicode-escape')
            # print(res.encode('utf-8').decode('gb18030'))
            # print(type((res.encode('utf-8').decode('gb18030'))))
            return res.encode('utf-8').decode('unicode_escape')
        else:
            return None

    #写响应结果到实际结果列
    def write_result(self, row, value):
        col = int(data_config.get_responde_result())
        self.opera_excel.write_value(row, col, value)

    #写测试结果到测试结果列
    def write_result_status(self, row, value):
        col = int(data_config.get_result_status())
        self.opera_excel.write_value(row, col, value)

    #写响应结果返回值到返回状态列
    def write_code_responde_result(self, row, value):
        col = int(data_config.get_code_responde_result())
        self.opera_excel.write_value(row, col, value)

    #写请求数据内容到请求数据内容列
    def write_request_data_result(self, row, value):
        col = int(data_config.get_request_data_result())
        self.opera_excel.write_value(row, col, value)

    #写数据库查询结果到sql查询结果
    def write_sql_result(self, row, value):
        col = int(data_config.write_sql_result())
        self.opera_excel.write_value(row, col, value)

    #将sql查询出、返回状态、实际结果、请求数据内容和测试结果列的结果置空
    def write_void_to_output_cell(self, row, value):
        col = int(data_config.write_sql_result())
        self.opera_excel.write_value(row, col, value)
        col = int(data_config.get_code_responde_result())
        self.opera_excel.write_value(row, col, value)
        col = int(data_config.get_responde_result())
        self.opera_excel.write_value(row, col, value)
        col = int(data_config.get_request_data_result())
        self.opera_excel.write_value(row, col, value)
        col = int(data_config.get_result_status())
        self.opera_excel.write_value(row, col, value)

    #获取依赖数据的key
    def get_depend_key(self, row):
        col = int(data_config.get_data_depend())
        depent_key = self.opera_excel.get_cell_value(row, col)
        if depent_key == "":
            return None
        else:
            return depent_key

    #判断是否有case依赖
    def is_depend(self, row):
        col = int(data_config.get_case_depend())
        depend_case_id = self.opera_excel.get_cell_value(row, col)
        if depend_case_id == "":
            return None
        else:
            return depend_case_id

    #判断是否有sql查询case的依赖
    def is_depend_sql(self, row):
        col = int(data_config.get_data_depend_sql())
        depend_sql = self.opera_excel.get_cell_value(row, col)
        # print "depend_sql"
        # print depend_sql

        if depend_sql == "":
            return None
        else:
            return depend_sql

    #获取数据依赖字段
    def get_depend_field(self, row):
        col = int(data_config.get_field_depend())
        data = self.opera_excel.get_cell_value(row, col)
        if data == "":
            return None
        else:
            return data

    #获取对应测试模块josn文件的路径
    def get_path_json(self, row):
        col = int(data_config.get_json_path())
        json_path = self.opera_excel.get_cell_value(row, col)
        return json_path
Exemple #5
0
class GetData:
    """获取excel数据"""
    def __init__(self):
        self.opera_excel = OperationExcel()

    def get_case_lines(self):
        """获取excel行数,即case的个数"""
        return self.opera_excel.get_lines()

    def get_is_run(self, row):
        """获取是否执行"""
        flag = None
        col = int(data_config.get_run())
        run_model = self.opera_excel.get_cell_value(row, col)
        if run_model == 'yes':
            flag = True
        else:
            flag = False
        return flag

    def is_header(self, row):
        """
        是否携带header
        :param row: 行号
        :return:
        """
        col = int(data_config.get_header())
        header = self.opera_excel.get_cell_value(row, col)
        if header != '':
            return header
        else:
            return None

    def is_token(self, row):
        """
        是否携带token
        :param row: 行号
        :return:
        """
        col = int(data_config.get_token())
        token = self.opera_excel.get_cell_value(row, col)
        if token != '':
            return token
        else:
            return None

    def get_request_method(self, row):
        """
        获取请求方式
        :param row: 行号
        :return:
        """
        # col 列
        col = int(data_config.get_run_way())
        request_method = self.opera_excel.get_cell_value(row, col)
        return request_method

    def get_request_url(self, row):
        """
        获取url
        :param row: 行号
        :return:
        """
        col = int(data_config.get_url())
        url = self.opera_excel.get_cell_value(row, col)
        return url

    def get_request_data(self, row):
        """
        获取请求数据
        :param row:行号
        :return:
        """
        col = int(data_config.get_data())
        print("col:", col)
        data = self.opera_excel.get_cell_value(row, col)
        if data == '':
            return None
        return data

    def get_data_for_json(self, row):
        """
        通过关键字拿到data数据
        :param row:
        :return:
        """
        print("1111111111111", row)
        opera_json = OperationJson()
        print("22222222222222222")
        print(self.get_request_data(row))
        request_data = opera_json.get_data(self.get_request_data(row))
        print("request_data:", request_data)
        return request_data

    def get_expect_data(self, row):
        """
        获取预期结果
        :param row:
        :return:
        """
        col = int(data_config.get_expect())
        expect = self.opera_excel.get_cell_value(row, col)
        if expect == "":
            return None
        else:
            return expect

    def write_result(self, row, value):
        """
        写入结果数据
        :param row:
        :param col:
        :return:
        """
        col = int(data_config.get_result())
        self.opera_excel.write_value(row, col, value)

    def write_real_res(self, row, value):
        """
        写入结果数据
        :param row:
        :param col:
        :return:
        """
        col = int(data_config.get_real_res())
        self.opera_excel.write_value(row, col, value)

    def get_depend_key(self, row):
        """
        获取依赖数据的key
        :param row:行号
        :return:
        """
        print("@@@@@@@@@@@@@@@@@@@@@@@@@@", row)
        print("#@@@@@####", data_config.get_data_depend())
        col = int(data_config.get_data_depend())
        print("##########", col)
        depend_key = self.opera_excel.get_cell_value(row, col)
        print(depend_key)
        if depend_key == "":
            return None
        else:
            return depend_key

    def is_depend(self, row):
        """
        判断是否有case依赖
        :param row:行号
        :return:
        """
        col = int(data_config.get_case_depend())  # 获取是否存在数据依赖列
        depend_case_id = self.opera_excel.get_cell_value(row, col)
        if depend_case_id == "":
            return None
        else:
            return depend_case_id

    def get_depend_field(self, row):
        """
        获取依赖字段
        :param row:
        :return:
        """
        col = int(data_config.get_field_depend())
        data = self.opera_excel.get_cell_value(row, col)
        if data == "":
            return None
        else:
            return data

    def get_real_res(self, row):
        col = 13
        data = self.opera_excel.get_cell_value(row, col)
        if data == "":
            return None
        else:
            return data
Exemple #6
0
class GetData:
    def __init__(self):
        self.oper_excel = OperationExcel()

    # 获取用例个数
    def get_case_lines(self):
        return self.oper_excel.get_lines()

    # 获取是否执行
    def get_is_run(self, row):
        flag = None
        col = int(data_config.global_var.get_run())
        run_model = self.oper_excel.get_cell_value(row, col)
        if run_model == 'yes':
            flag = True
        else:
            flag = False
        return flag

    # 获取请求方式
    def get_request_method(self, row):
        col = int(data_config.global_var.get_request_type())
        request_method = self.oper_excel.get_cell_value(row, col)
        return request_method

    def get_requset_url(self, row):
        col = int(data_config.global_var.get_url())
        requset_url = self.oper_excel.get_cell_value(row, col)
        return requset_url

    #获取请求数据
    def get_request_data(self, row):
        col = int(data_config.global_var.get_request_data())
        data = self.oper_excel.get_cell_value(row, col)
        if data == '':
            return None
        return data

    # --------------------------------------------------------------------

    # 通过获取请求关键字拿到data数据
    '''def get_data_value(self,row):
        oper_json = OperationJson('../dataconfig/request_data.json')
        request_data = oper_json.get_data(self.get_request_data(row))
        return request_data'''

    #获取预期结果
    def get_expect_data(self, row):
        col = int(data_config.global_var.get_expect())
        expect = self.oper_excel.get_cell_value(row, col)
        return expect

    #写入数据
    def write_result(self, row, value):
        col = int(data_config.global_var.get_result())
        self.oper_excel.write_value(row, col, value)

    #获取依赖数据的key
    '''def get_depend_key(self,row):
        col = int(data_config.get_data_depend())
        depend_key = self.oper_excel.get_cell_value(row,col)
        if depend_key == '':
            return None
        else:
            return depend_key'''

    #判断是否有case依赖
    '''def is_depend(self,row):
        col = int(data_config.get_case_depend())
        depend_case_id = self.oper_excel.get_cell_value(row,col)
        if depend_case_id == '':
            return None
        else:
            return depend_case_id'''

    #获取请求依赖字段
    '''def get_depend_field(self,row):
Exemple #7
0
class GetData:
    def __init__(self):
        self.oper_excel = OperationExcel()

    # 去获取excel行数,就是case个数
    def get_case_lines(self):
        return self.oper_excel.get_lines()

    # 获取是否执行
    def get_is_run(self, row):
        flag = None
        col = int(data_config.get_run())  # 获取Excel表的第四列数据
        run_model = self.oper_excel.get_cell_value(row, col)
        if run_model == 'yes':
            flag = True
        else:
            flag = False
        return flag

    # 获取请求方式
    def get_request_method(self, row):
        col = int(data_config.get_request_way())
        request_method = self.oper_excel.get_cell_value(row, col)
        return request_method

    # 获取url
    def get_request_url(self, row):
        col = int(data_config.get_url())
        url = self.oper_excel.get_cell_value(row, col)
        return url

    # 获取请求头header
    def get_request_header(self, row):
        col = int(data_config.get_header())
        data = self.oper_excel.get_cell_value(row, col)
        if data == '':
            return None
        else:
            return data

    # 通过获取头关键字拿到data数据
    def get_header_value(self, row):
        oper_json = OperationJson('../dataconfig/request_header.json')
        request_header = oper_json.get_data(self.get_request_header(row))
        return request_header

    # 获取请求数据
    def get_request_data(self, row):
        col = int(data_config.get_data())
        data = self.oper_excel.get_cell_value(row, col)
        if data == '':
            return None
        return data

    # 通过获取请求关键字拿到data数据
    def get_data_value(self, row):
        oper_json = OperationJson('../dataconfig/request_data.json')
        request_data = oper_json.get_data(self.get_request_data(row))
        return request_data

    # 获取预期结果
    def get_expect_data(self, row):
        col = int(data_config.get_expect())
        expect = self.oper_excel.get_cell_value(row, col)
        return expect

    # 写入数据
    def write_result(self, row, value):
        col = int(data_config.get_result())
        self.oper_excel.write_value(row, col, value)

    # 获取依赖数据的key
    def get_depend_key(self, row):
        col = int(data_config.get_data_depend())
        depend_key = self.oper_excel.get_cell_value(row, col)
        if depend_key == '':
            return None
        else:
            return depend_key

    # 判断是否有case依赖
    def is_depend(self, row):
        col = int(data_config.get_case_depend())
        depend_case_id = self.oper_excel.get_cell_value(row, col)
        if depend_case_id == '':
            return None
        else:
            return depend_case_id

    # 获取请求依赖字段
    def get_depend_field(self, row):
        col = int(data_config.get_field_depend())
        data = self.oper_excel.get_cell_value(row, col)
        if data == '':
            return None
        else:
            return data
Exemple #8
0
class GetData:
    """获取excel数据"""
    def __init__(self):
        self.opera_excel = OperationExcel()

    def get_case_lines(self):
        """获取excel行数,即case的个数"""
        return self.opera_excel.get_lines()

    def get_case_name(self, row):
        """获取是否执行"""
        col = int(data_config.get_name())
        case_name = self.opera_excel.get_cell_value(row, col)
        return case_name

    def get_is_run(self, row):
        """获取是否执行"""
        flag = None
        col = int(data_config.get_run())
        run_model = self.opera_excel.get_cell_value(row, col)
        if run_model == 'yes':
            flag = True
        else:
            flag = False
        return flag

    def get_headers(self, row):
        """
        获取携带的headers
        :param row: 行号
        :return:
        """
        col = int(data_config.get_headers())
        header = self.opera_excel.get_cell_value(row, col)
        h = {}
        if header:
            h = header_str_dict(header)
            log().info('获取请求头\n%s', h)
            return h
        else:
            log().info('没有请求头')
            return h

    def is_token(self, row):
        """
        是否携带header
        :param row: 行号
        :return:
        """
        col = int(data_config.get_token())
        token = self.opera_excel.get_cell_value(row, col)
        if token != '':
            log().info('获取是否携带token %s', token)
            return token
        else:
            log().info('获取是否携带token为空')
            return None

    def get_request_method(self, row):
        """
        获取请求方式
        :param row: 行号
        :return:
        """
        # col 列
        col = int(data_config.get_run_way())
        request_method = self.opera_excel.get_cell_value(row, col)
        log().info('获取请求方式 %s', request_method)
        return request_method

    def get_request_url(self, row):
        """
        获取url
        :param row: 行号
        :return:
        """
        col = int(data_config.get_url())
        url = self.opera_excel.get_cell_value(row, col)
        log().info('获取请求地址\n%s', url)
        return url

    def get_request_data(self, row):
        """
        获取请求数据
        :param row:行号
        :return:
        """
        col = int(data_config.get_data())
        request_data = self.opera_excel.get_cell_value(row, col)
        if request_data == '':
            log().info('没有请求参数')
            return None
        # r=json.loads(request_data) #将str转为dict
        log().info('获取请求参数')
        return request_data

    def get_expcet_data(self, row, _log=True):
        """
        获取预期结果
        :param row:
        :return:
        """
        col = int(data_config.get_expect())
        expect = self.opera_excel.get_cell_value(row, col)
        if expect == "":
            log().error('预期结果为空')
            return None
        else:
            if _log:
                log().info('获取预期结果 %s', expect)
            return expect

    def get_respond_data(self, row):
        """
        获取预期结果
        :param row:
        :return:
        """
        col = int(data_config.get_resond())
        respond = self.opera_excel.get_cell_value(row, col)
        if respond == "":
            return None
        else:
            return respond

    def write_result(self, row, value):
        """
        写入结果数据
        :param row:
        :param col:
        :return:
        """
        col = int(data_config.get_result())
        self.opera_excel.write_value(row, col, value)

    def write_respond_data(self, row, value):
        """
        写入响应数据
        :param row:
        :param col:
        :return:
        """
        col = int(data_config.get_resond())
        self.opera_excel.write_value(row, col, value)

    def get_depend_key(self, row):
        """
        获取依赖数据的key
        :param row:行号
        :return:
        """
        col = int(data_config.get_data_depend())
        depend_key = self.opera_excel.get_cell_value(row, col)

        if depend_key == "":
            return None
        else:
            return depend_key

    def is_depend(self, row):
        """
        判断是否有case依赖
        :param row:行号
        :return:
        """
        col = int(data_config.get_case_depend())  # 获取是否存在数据依赖列
        depend_case_id = self.opera_excel.get_cell_value(row, col)
        if depend_case_id == "":
            log().info('没有数据依赖')
            return None
        else:
            log().info('获取依赖%s', depend_case_id)
            return depend_case_id
Exemple #9
0
class GetData:
    def __init__(self):
        self.opera_excel = OperationExcel()

    #去获取Excel的行数,就是我们的case个数
    def get_case_lines(self):
        return self.opera_excel.get_lines()

    #获取是否执行
    def get_is_run(self, row):
        flag = None  #加个标识,显得语言高级
        col = int(data_config.get_run())
        run_model = self.opera_excel.get_cell_value(row, col)
        if run_model == 'yes':
            flag = True
        else:
            flag = False
        return flag

    #是否携带header
    def is_header(self, row):
        col = int(data_config.get_header())
        header = self.opera_excel.get_cell_value(row, col)
        if header == "yes":
            return data_config.get_header_value()
        else:
            return None

    #获取请求方式
    def get_request_method(self, row):
        col = int(data_config.get_request_way())
        request_method = self.opera_excel.get_cell_value(row, col)
        return request_method

    #获取url
    def get_request_url(self, row):
        col = int(data_config.get_url())
        request_url = self.opera_excel.get_cell_value(row, col)
        return request_url

    #获取请求数据
    def get_request_data(self, row):
        col = int(data_config.get_data())
        data = self.opera_excel.get_cell_value(row, col)
        if data == '':
            return None
        return data

    #通过获取关键字拿到data数据
    def get_data_form_json(self, row):
        opera_json = OperationJson()
        request_data = opera_json.get_data(self.get_request_data(row))
        return request_data

    #获取预期结果
    def get_expect_data(self, row):
        col = int(data_config.get_expect())
        expect = self.opera_excel.get_cell_value(row, col)
        if expect == '':
            return None
        else:
            return expect

    def write_result(self, row, value):
        col = int(data_config.get_result())
        result = self.opera_excel.write_value(row, col, value)
        return result

    #获取依赖数据的key
    def get_depend_key(self, row):
        col = int(data_config.get_data_depend())
        depent_key = self.opera_excel.get_cell_value(row, col)
        if depent_key == "":
            return None
        else:
            return depent_key

    #判断是否有case依赖
    def is_depend(self, row):
        col = int(data_config.get_field_depend())
        depend_case_id = self.opera_excel.get_cell_value(row, col)
        if depend_case_id == '':
            return None
        else:
            return depend_case_id

    #获取数据依赖字段
    def get_depend_field(self, row):
        col = int(data_config.get_field_depend())
        data = self.opera_excel.get_cell_value(row, col)
        if data == '':
            return None
        else:
            return data
Exemple #10
0
class GetData():
    def __init__(self, sheet_id=0):
        self.file_name = os.path.join(BASE_PATH,
                                      YamlReader().data["global"]["case_path"])
        self.opera_excel = OperationExcel(file_name=self.file_name,
                                          sheet_id=sheet_id)

    #获取sheet名字
    def get_sheet_names(self):
        return self.opera_excel.get_sheet()

    #去获取excel行数,就是我们的case个数
    def get_case_lines(self):
        return self.opera_excel.get_lines()

    #获取是否执行
    def get_is_run(self, row):
        flag = None
        col = int(data_config.get_run())
        run_model = self.opera_excel.get_cell_value(row, col)
        if run_model == 'yes':
            flag = True
        else:
            flag = False
        return flag

    #是否携带header
    def is_header(self, row):
        col = int(data_config.get_header())
        header = self.opera_excel.get_cell_value(row, col)
        if header != '':
            return header
        else:
            return None

    #获取请求方式
    def get_request_method(self, row):
        col = int(data_config.get_run_way())
        request_method = self.opera_excel.get_cell_value(row, col)
        return request_method

    #获取url
    def get_request_url(self, row):
        col = int(data_config.get_url())
        url = self.opera_excel.get_cell_value(row, col)
        return url

    #获取请求数据
    def get_request_data(self, row):
        col = int(data_config.get_data())
        data = self.opera_excel.get_cell_value(row, col)
        if data == '':
            return None
        #替换
        p = r"\${(.+?)}"
        robocop = re.compile(p, re.I)
        temps = robocop.findall(data)
        if temps:
            for temp in temps:
                # 数据库查询,不区分大小写
                if temp.upper().find("select".upper()) >= 0:
                    op_mysql = OperationMysql()
                    res = op_mysql.search_one(temp)
                    data = re.sub(p, res, data)
                # json替换
                else:
                    opera_json = OperetionJson()
                    res = str(opera_json.get_data(temp))
                    data = re.sub(p, res, data)

        print(data)
        return eval(data)

    #通过获取关键字拿到data数据
    def get_data_for_json(self, row):
        opera_json = OperetionJson()
        request_data = opera_json.get_data(self.get_request_data(row))
        return request_data

    #获取预期结果
    def get_expcet_data(self, row):
        col = int(data_config.get_expect())
        expect = self.opera_excel.get_cell_value(row, col)
        if expect == '':
            return None
        # 替换
        p = r"\${(.+?)}"
        robocop = re.compile(p, re.I)
        temps = robocop.findall(expect)
        if temps:
            for temp in temps:
                # 数据库查询,不区分大小写
                if temp.upper().find("select".upper()) >= 0:
                    op_mysql = OperationMysql()
                    res = op_mysql.search_one(temp)
                    expect = re.sub(p, res, expect)
                # json替换
                else:
                    opera_json = OperetionJson()
                    res = str(opera_json.get_data(temp))
                    expect = re.sub(p, res, expect)

        return expect

    #通过sql获取预期结果
    def get_expcet_data_for_mysql(self, row):
        op_mysql = OperationMysql()
        sql = self.get_expcet_data(row)
        res = op_mysql.search_one(sql)
        return res

    def write_result(self, row, value):
        col = int(data_config.get_result())
        self.opera_excel.write_value(row, col, value)

    #获取依赖数据的key
    def get_depend_key(self, row):
        col = int(data_config.get_data_depend())
        depent_key = self.opera_excel.get_cell_value(row, col)
        if depent_key == "":
            return None
        else:
            return depent_key

    #判断是否有case依赖
    def is_depend(self, row):
        col = int(data_config.get_case_depend())
        depend_case_id = self.opera_excel.get_cell_value(row, col)
        if depend_case_id == "":
            return None
        else:
            return depend_case_id

    #获取数据依赖字段
    def get_depend_field(self, row):
        col = int(data_config.get_field_depend())
        data = self.opera_excel.get_cell_value(row, col)
        if data == "":
            return None
        else:
            return data

        # 是否携带header
    def get_case_name(self, row):
        col = int(data_config.get_case_name())
        case_name = self.opera_excel.get_cell_value(row, col)
        if case_name != '':
            return case_name
        else:
            return None

    #这是加ddt打的补丁,所以看起来有点诡异
    def get_case_list(self):
        case_list = []
        sheet_names = self.get_sheet_names()
        for sheet_id in range(len(sheet_names)):
            data = GetData(sheet_id)
            rows_count = data.get_case_lines()
            for i in range(1, rows_count):
                #是否运行
                if data.get_is_run(i):
                    case_name = data.get_case_name(i)
                    case_list.append(
                        [sheet_names[sheet_id], case_name, sheet_id, i])
        return case_list
Exemple #11
0
class GetData(object):
    def __init__(self):
        self.data_config = global_val()
        self.opera_excel = OperationExcel()

    #去获取Excel的行数,就是case数量
    def get_case_lines(self):
        return self.opera_excel.get_lines()

    #是否执行
    def get_is_run(self, row):
        flag = None
        col = int(self.data_config.get_run())
        run_model = self.opera_excel.get_cell_value(row, col)
        if run_model == 'yes':
            flag = True
        else:
            flag = False
        return flag

    #是否携带header
    def is_heard(self, row):
        col = int(self.data_config.get_header())
        header = self.opera_excel.get_cell_value(row, col)
        if header == 'yes':
            return self.data_config.get_header_value()
        else:
            return None

    #获取请求方式
    def get_request_method(self, row):
        col = int(self.data_config.get_request_way())
        request_method = self.opera_excel.get_cell_value(row, col)
        return request_method

    #获取url
    def get_request_url(self, row):
        col = int(self.data_config.get_url())
        url = self.opera_excel.get_cell_value(row, col)
        return url

    #获取请求数据
    def get_request_data(self, row):
        col = int(self.data_config.get_data())
        data = self.opera_excel.get_cell_value(row, col)
        if data == '':
            return None
        else:
            return data

    #通过关键字获取数据
    def get_data_for_json(self, row):
        operjson = OperationJson()
        operjson.get_data(self.get_request_data(row))

    #获取预期结果
    def get_expect_result(self, row):
        col = int(self.data_config.get_except())
        expect = self.opera_excel.get_cell_value(row, col)
        #expect=200
        if expect == '':
            return None
        return int(expect)
Exemple #12
0
class GetData:
    def __init__(self):
        self.opera_excel = OperationExcel()

    # 去获取excel行数,就是我们的case个数
    def get_case_lines(self):
        return self.opera_excel.get_lines()

    # 获取page_name
    def get_page_name(self, row):
        col = int(data_config.get_page_name())
        page_name = self.opera_excel.get_cell_value(row, col)
        return page_name

    # 获取sub_action
    def get_sub_action(self, row):
        col = int(data_config.get_sub_action())
        sub_action = self.opera_excel.get_cell_value(row, col)
        return sub_action

    # 获取prev_page_name
    def get_prev_page_name(self, row):
        col = int(data_config.get_prev_page_name())
        prev_page_name = self.opera_excel.get_cell_value(row, col)
        return prev_page_name

    # -----------------------------------------------------------------------------
    # 获取url
    def get_request_url(self, row):
        col = int(data_config.get_url())
        url = self.opera_excel.get_cell_value(row, col)
        return url

    # 获取是否执行
    def get_is_run(self, row):
        flag = None
        col = int(data_config.get_run())  # col已经在data_config中被写死了
        run_model = self.opera_excel.get_cell_value(row, col)
        if run_model == 'Yes':
            flag = True
        else:
            flag = False
        return flag

    # 获取请求方式
    def get_request_method(self, row):
        col = int(data_config.get_run_way())
        request_method = self.opera_excel.get_cell_value(row, col)
        return request_method

    # 是否携带header
    def is_header(self, row):
        col = int(data_config.get_header())
        header = self.opera_excel.get_cell_value(row, col)
        if header != 'Yes':
            return header
        else:
            return None

    # 获取到excel表中请求数据关键字
    def get_request_data(self, row):
        col = int(data_config.get_data())
        data = self.opera_excel.get_cell_value(row, col)
        if data == '':
            return None
        return data

    # 通过excel中关键字拿到配置文件中的请求数据
    def get_data_for_json(self, row):
        opera_json = OperetionJson()
        request_data = opera_json.get_data(self.get_request_data(row))
        return request_data

    # 获取预期结果
    def get_expcet_data(self, row):
        col = int(data_config.get_expect())
        expect = self.opera_excel.get_cell_value(row, col)
        if expect == '':
            return None
        return expect

    # 通过sql获取预期结果
    '''
	def get_expcet_data_for_mysql(self, row):
		op_mysql = OperationMysql()
		sql = self.get_expcet_data(row)
		res = op_mysql.search_one(sql)
		return res.decode('unicode-escape')
	'''

    # 结果回写
    def write_result(self, row, value):
        col = int(data_config.get_result())
        self.opera_excel.write_value(row, col, value)

    # 不通过的case执行结果回写
    def write_res(self, row, value):
        col = int(data_config.get_res_value())
        self.opera_excel.write_value(row, col, value)

    # 判断是否有case依赖
    def is_depend(self, row):
        col = int(data_config.get_case_depend())
        depend_case_id = self.opera_excel.get_cell_value(row, col)
        if depend_case_id == "":
            return None
        else:
            return depend_case_id

    # 获取依赖数据的key
    def get_depend_key(self, row):
        col = int(data_config.get_data_depend())  # 中间的depend  第7列
        depent_key = self.opera_excel.get_cell_value(row, col)
        if depent_key == "":
            return None
        else:
            return depent_key

    # 获取数据依赖字段
    def get_depend_field(self, row):
        col = int(data_config.get_field_depend())
        data = self.opera_excel.get_cell_value(row, col)
        if data == "":
            return None
        else:
            return data

    # 获取拼接字符串(获取token的原始值num)
    def get_joint_value(self, row):
        col = int(data_config.get_joint_value())
        data = self.opera_excel.get_cell_value(row, col)
        if data == "":
            return None
        else:
            return data
Exemple #13
0
class GetData:
    def __init__(self):
        self.opera_exel = OperationExcel()

    # 获取excel行数,就是我们的case个数
    def get_case_lines(self):
        return self.opera_exel.get_lines()

    # 获取id
    def get_id(self, row):
        col = int(data_config.get_id())
        id = self.opera_exel.get_cell_value(row, col)
        return id

    # 获取case_name
    def case_name(self, row):
        col = int(data_config.get_module_name())
        case_name = self.opera_exel.get_cell_value(row, col)
        return case_name

    # 获取url
    def get_url(self, row):
        col = int(data_config.get_url())
        url = self.opera_exel.get_cell_value(row, col)
        return url

    # 获取是否执行
    def get_is_run(self, row):
        col = int(data_config.get_run())
        run_model = self.opera_exel.get_cell_value(row, col)
        if run_model == 'yes':
            flag = True
        else:
            flag = False
        return flag

    # 获取请求方式
    def get_request_method(self, row):
        col = int(data_config.get_request_way())
        request_method = self.opera_exel.get_cell_value(row, col)
        return request_method

    # 是否携带header
    def get_is_header(self, row):
        col = int(data_config.get_header_value())
        header = self.opera_exel.get_cell_value(row, col)
        if header != 'no':
            if header != '':
                return json.loads(header)
        else:
            return None

    # 获取请求数据
    def get_request_data(self, row):
        col = int(data_config.get_data())
        # print(col)
        data = self.opera_exel.get_cell_value(row, col)
        if data == '':
            return None
        return json.loads(data)
        # return data

    # 通过获取关键字拿到data数据
    def get_data_for_json(self, row):
        opera_json = OperationJson()
        test = json.dumps(self.get_request_data(5))
        print(test, '111')
        # request_data = opera_json.get_data(json.dumps(self.get_request_data(row)))
        request_data = opera_json.get_data(
            json.dumps(self.get_request_data(row)))
        return request_data

    # 获取预期结果
    def get_expect_data(self, row):
        col = int(data_config.get_expect())
        expect = self.opera_exel.get_cell_value(row, col)
        if expect == '':
            return None
        return expect

    # 写入
    def write_result(self, row, value):
        col = int(data_config.get_result())
        self.opera_exel.write_value(row, col, value)

    # 获取依赖数据的key
    def get_depend_key(self, row):
        col = int(data_config.get_data_depend())
        depend_key = self.opera_exel.get_cell_value(row, col)
        if depend_key == "":
            return None
        else:
            return depend_key

    # 判断是否有case依赖
    def is_depend(self, row):
        col = int(data_config.get_case_depend())
        depend_case_id = self.opera_exel.get_cell_value(row, col)
        if depend_case_id == "":
            return None
        else:
            return depend_case_id

    # 获取数据依赖字段
    def get_depend_field(self, row):
        col = int(data_config.get_field_depend())
        depend_field = self.opera_exel.get_cell_value(row, col)
        if depend_field == "":
            return None
        else:
            return depend_field

    # 获取依赖添加地
    def get_to_depend(self, row):
        col = int(data_config.get_depend_to())
        depend_to = self.opera_exel.get_cell_value(row, col)
        if depend_to == "":
            return None
        else:
            return depend_to
Exemple #14
0
class GetData:
    def __init__(self, json_file, sheet_name):
        self.operation_excel = OperationExcel(sheet_name)
        self.json_file = json_file

    #获取excel行数
    def get_case_line(self):
        return self.operation_excel.get_lines()

    #获取模块
    def get_model(self, row):
        col = int(data_config.get_module())
        return self.operation_excel.get_cell_value(row, col)

    #获取是否执行
    def get_is_run(self, row):
        flag = None
        col = int(data_config.get_run())
        run_model = self.operation_excel.get_cell_value(row, col)
        if run_model == 'yes':
            flag = True
        else:
            flag = False
        return flag

    #获取是否携带header
    def get_header(self, row):
        col = int(data_config.get_header())
        header = self.operation_excel.get_cell_value(row, col)
        if header == 'yes':
            return data_config.get_header_value()
        else:
            return None

    #获取携带token的header
    def get_token_header(self, row, token_value):
        col = int(data_config.get_header())
        header = self.operation_excel.get_cell_value(row, col)
        if header == 'yes':
            return data_config.get_token_header_value(token_value)
        else:
            return None

    #获取请求类型
    def get_request_type(self, row):
        col = int(data_config.get_request_type())
        return self.operation_excel.get_cell_value(row, col)

    #获取url
    def get_url(self, row):
        col = int(data_config.get_url())
        return self.operation_excel.get_cell_value(row, col)

    #获取请求参数
    def get_parameter(self, row):
        col = int(data_config.get_parameter())
        data = self.operation_excel.get_cell_value(row, col)
        if data == '':
            return None
        return data

    #通过关键字拿到data数据
    def get_data_for_json(self, row):
        oper_json = OperationJson(self.json_file)
        data_json = oper_json.get_data(self.get_parameter(row))
        return data_json

    #获取预期结果
    def get_except(self, row):
        col = int(data_config.get_except())
        except_data = self.operation_excel.get_cell_value(row, col)
        if except_data == '':
            return None
        return except_data

    #写入实际结果
    def write_result(self, row, value, sheet_id):
        col = int(data_config.get_result())
        self.operation_excel.write_value(row, col, value, sheet_id)

    #写入实际返回结果
    def write_response(self, row, value, sheet_id):
        col = int(data_config.get_response())
        self.operation_excel.write_value(row, col, value, sheet_id)

    #获取依赖的返回数据
    def get_dependent_data(self, row, index):
        col = int(data_config.get_data_dependent())
        #dependent_data = self.operation_excel.get_cell_value(row, col)
        dependent_data = self.operation_excel.get_cell_value_more(
            row, col, index)
        if dependent_data == '':
            return None
        return dependent_data

    #判断是否存在依赖case
    def is_depend(self, row):
        col = int(data_config.get_case_dependent())
        dependent_case_id = self.operation_excel.get_cell_value(row, col)
        if dependent_case_id == '':
            return None
        return dependent_case_id

    # 判断是否存在2个依赖case
    def is_more_depend(self, row, index=None):
        col = int(data_config.get_case_dependent())
        dependent_case_value = self.operation_excel.get_cell_value_more(
            row, col, index)
        if dependent_case_value == '':
            return None
        if ',' in dependent_case_value:
            dependent_case_id = dependent_case_value.split(',', 1)[index]
            return dependent_case_id
        else:
            return dependent_case_value

    # 获取依赖的字段
    def get_dependent_key(self, row, index=None):
        col = int(data_config.get_key_dependent())
        dependent_key = self.operation_excel.get_cell_value(row, col)
        if dependent_key == '':
            return None
        if ',' in dependent_key:
            dependent_key_id = dependent_key.split(',')[index]
            return dependent_key_id
        else:
            return dependent_key
class GetData:
	def __init__(self):
		self.opera_excel = OperationExcel()
        #此处构造函数没有实例化json因为不是所有的都要用到,但是放这也可以

	#去获取excel行数,就是我们的case个数
	def get_case_lines(self):
		return self.opera_excel.get_lines()

	#获取是否执行
	def get_is_run(self,row):
		flag = None
		col = int(data_config.get_run())
		run_model = self.opera_excel.get_cell_value(row,col)
		if run_model == 'yes':
			flag = True
		else:
			flag = False
		return flag

	#是否携带header
	def is_header(self,row):
		col = int(data_config.get_header())
		header = self.opera_excel.get_cell_value(row,col)
		if header != '':
			return header
		else:
			return None

	#获取请求方式
	def get_request_method(self,row):
		col = int(data_config.get_run_way())
		request_method = self.opera_excel.get_cell_value(row,col)
		return request_method

	#获取url
	def get_request_url(self,row):
		col = int(data_config.get_url())
		url = self.opera_excel.get_cell_value(row,col)
		return url

	#获取请求数据
	def get_request_data(self,row):
		col = int(data_config.get_data())
		data = self.opera_excel.get_cell_value(row,col)
		if data == '':
			return None
		return data

	#通过获取关键字拿到data数据
	def get_data_for_json(self,row):
		opera_json = OperetionJson()
		request_data = opera_json.get_data(self.get_request_data(row))
		return request_data

	#获取预期结果
	def get_expcet_data(self,row):
		col = int(data_config.get_expect())
		expect = self.opera_excel.get_cell_value(row,col)
		if expect == '':
			return None
		return expect
Exemple #16
0
class GetData:
    def __init__(self):
        self.opera_excel = OperationExcel()

    #去获取excel行数,就是我们的case个数
    def get_case_lines(self):
        return self.opera_excel.get_lines()

    #获取是否执行
    def get_is_run(self, row):
        flag = None
        col = int(data_config.get_run())
        run_model = self.opera_excel.get_cell_value(row, col)
        if run_model == 'yes':
            flag = True
        else:
            flag = False
        return flag

    #是否携带header
    def is_header(self, row):
        col = int(data_config.get_header())
        header = self.opera_excel.get_cell_value(row, col)
        if header != '':
            if header == 'write':
                return header
            elif header == 'yes':
                op_json = OperetionJson('../dataconfig/cookie.json')
                # cookie = op_json.get_data('apsid')
                # cookies = {
                # 	'apsid':cookie
                # }
                cookies = op_json.get_data('header')
                # cookies = {
                # 	'token':cookie,
                #
                # }
                return cookies
            else:
                return None

        else:
            return None

    #获取请求方式
    def get_request_method(self, row):
        col = int(data_config.get_run_way())
        request_method = self.opera_excel.get_cell_value(row, col)
        return request_method

    #获取url
    def get_request_url(self, row):
        col = int(data_config.get_url())
        url = self.opera_excel.get_cell_value(row, col)

        return self.find_def(url)

    #获取请求数据
    def get_request_data(self, row):
        col = int(data_config.get_data())
        data = self.opera_excel.get_cell_value(row, col)

        if data == '':
            return None
        if re.match('{.+}', data, re.M | re.I) == None:
            opera_json = OperetionJson()
            data = opera_json.get_data(data)

        return self.find_def(data)

    #通过获取关键字拿到data数据
    def get_data_for_json(self, row):
        opera_json = OperetionJson()
        print row
        request_data = opera_json.get_data(self.get_request_data(row))
        return request_data

    #获取预期结果
    def get_expcet_data_for_excel(self, row):
        col = int(data_config.get_expect())
        expect = self.opera_excel.get_cell_value(row, col)
        if expect == '':
            return None
        return expect

    #通过sql获取预期结果
    def get_expcet_data_for_mysql(self, row):
        op_mysql = OperationMysql()
        sql = self.get_expcet_data_for_excel(row)
        res = op_mysql.search_one(sql)
        # return res.decode('unicode-escape')
        return res

    def get_expcet_data(self, row):
        expect = self.get_expcet_data_for_excel(row)
        if expect == "":
            return None
        if re.match('select.+from', expect, re.M | re.I) == None:
            return expect
        else:
            op_mysql = OperationMysql()
            return op_mysql.search_one(expect)

    def write_result(self, row, value):
        col = int(data_config.get_result())
        self.opera_excel.write_value(row, col, value)

    #获取依赖数据的key
    def get_depend_key(self, row):
        col = int(data_config.get_data_depend())
        depent_key = self.opera_excel.get_cell_value(row, col)
        if depent_key == "":
            return None
        else:
            return depent_key

    #判断是否有case依赖
    def is_depend(self, row):
        col = int(data_config.get_case_depend())
        depend_case_id = self.opera_excel.get_cell_value(row, col)
        if depend_case_id == "":
            return None
        else:
            return depend_case_id

    #获取数据依赖字段
    def get_depend_field(self, row):
        col = int(data_config.get_field_depend())
        data = self.opera_excel.get_cell_value(row, col)
        if data == "":
            return None
        else:
            return data

    #是否有方法参数,目前每条只支持1个 ${}
    def find_def(self, param):
        #print type(param)
        #字典暂不处理
        if type(param) == dict:
            return param

        param = param.encode("utf-8")
        pattern1 = re.compile(r"(.*)\${(.+?)}(.*)")
        matcher1 = re.search(pattern1, param)

        if matcher1 == None:
            return param
        else:
            defs = matcher1.group(2)
            matcher2 = re.search('(.+)\((.*?)\)', defs)
            if matcher2 == None:
                returns = getattr(case_def, defs)()
                return matcher1.group(1) + returns + matcher1.group(3)
            modus = re.search('(.+)\((.*?)\)', defs).group(1)
            paramers = re.search('(.+)\((.*?)\)', defs).group(2)
            paramers = tuple(paramers.split(','))
            returns = getattr(case_def, modus)(*paramers)
            print locals()
            return matcher1.group(1) + returns + matcher1.group(3)
Exemple #17
0
class GetData:
    def __init__(self):
        self.opera_excel = OperationExcel() # 类的实例化对象 方法

    #去获取excel行数,就是我们的case个数
    def get_case_lines(self):
        return self.opera_excel.get_lines()

    #获取是否执行
    def get_is_run(self,row):
        flag = None
        col = int(get_run())
        run_model = self.opera_excel.get_cell_value(row,col)
        if run_model == 'yes':
            flag = True
        else:
            flag = False
        return flag

    #是否携带header
    def is_header(self,row):
        col = int(get_header())
        header = self.opera_excel.get_cell_value(row,col)
        # print(type(header))
        if header != '':   #判断是否不为空
            return eval(header)    #!!!!将取出来的str-dict
           
        else:
            return None
    #获取请求方式
    def get_request_method(self,row):
        col = int(get_run_way())
        request_method = self.opera_excel.get_cell_value(row,col)
        return request_method

    #获取url
    def get_request_url(self,row):
        col = int(get_url())
        url = self.opera_excel.get_cell_value(row,col)
        return url

    #获取请求数据
    def get_request_data(self,row):
        col = int(get_data())
        data = self.opera_excel.get_cell_value(row,col)
        if data == '':
            return None
        return data

    #通过获取关键字拿到data数据
    def get_data_for_json(self,row):
        opera_json = Operationjson()
        request_data =opera_json.get_data(self.get_request_data(row))
        return request_data

    #获取预期结果
    def get_expcet_data(self,row):
        col = int(get_expect())
        expect = self.opera_excel.get_cell_value(row,col)
        if expect == '':
            return None
        return expect  #  获取的预期结果为str格式
    #写入实际结果
    def write_result(self,row,value):
        col =int(get_result())
        result =self.opera_excel.write_value(row,col,value)
        return result
    #获取依赖数据的key
    def get_depend_key(self,row):
        col=int(get_data_depend())
        depent_key=self.opera_excel.get_cell_value(row,col)
        if depent_key =='':
            return None
        else:
            return depent_key
        
    def is_case_depend(self,row):
        pass

# a=GetData()
# b=a.get_expcet_data(3)
# print(b)
# print(type(b))
Exemple #18
0
class GetData:
    def __init__(self):
        self.opera_excel = OperationExcel()

    #获取Excel行数,case个数
    def get_case_lines(self):
        return self.opera_excel.get_lines()

    #获取是否执行
    def get_is_run(self, row):
        flag = None
        col = int(get_run())
        run_model = self.opera_excel.get_cell_value(row, col)
        if run_model == 'yes':
            flag = True
        else:
            flag = False
        return flag

    #是否携带header
    def is_header(self, row):
        col = int(get_header())
        header = self.opera_excel.get_cell_value(row, col)
        if header == 'yes':
            return get_header_value()
        else:
            return None

    #获取请求方式
    def get_request_method(self, row):
        col = int(get_run_way())
        request_method = self.opera_excel.get_cell_value(row, col)
        return request_method

    #获取URL
    def get_request_url(self, row):
        col = int(get_url())
        url = self.opera_excel.get_cell_value(row, col)
        return url

    #获取请求数据
    def get_request_data(self, row):
        col = int(get_data())
        data = self.opera_excel.get_cell_value(row, col)
        if data == '':
            return None
        return data

    #从json里获取数据
    def get_data_for_json(self, row):
        opera_json = OperetionJson()
        request_data = opera_json.get_data(self.get_request_data(row))
        return request_data

    #获取预期结果
    def get_expcet_data(self, row):
        col = int(get_expect())
        expect = self.opera_excel.get_cell_value(row, col)
        if expect == '':
            return None
        return expect

    #写入excel
    def write_result(self, row, value):
        col = int(get_result())
        self.opera_excel.write_value(row, col, value)

    #获取依赖数据的key
    def get_depend_key(self, row):
        col = int(get_data_depend())
        depend_key = self.opera_excel.get_cell_value(row, col)
        if depend_key == "":
            return None
        else:
            return depend_key

    #判断是否有Case依赖
    def is_depend(self, row):
        col = int(get_field_depend())
        depend_case_id = self.opera_excel.get_cell_value(row, col)
        if depend_case_id == "":
            return None
        else:
            return depend_case_id

    #获取数据依赖字段
    def get_depend_field(self, row):
        col = int(self.get_field_depend())
        data = self.opera_excel.get_cell_value(row, col)
        if data == "":
            return None
        else:
            return data
Exemple #19
0
class GetData:
    def __init__(self,file_name=None,sheet_id=None):
        self.file_name = file_name
        self.sheet_id = sheet_id
        self.opera_excel = OperationExcel(self.file_name,self.sheet_id)   #实例化

    #去获取excel行数,就是我们的case个数
    def get_case_lines(self):
        return self.opera_excel.get_lines()

    # 获取brandname
    def get_brandname(self,row):
        col = int(get_brandname())  #获取brandname所在的列数
        brandname = self.opera_excel.get_cell_value(row, col)   #获取指定单元格的内容
        return brandname

    #获取email
    def get_email(self,row):
        col = int(get_email())  #获取email所在的列数
        email = self.opera_excel.get_cell_value(row, col)   #获取指定单元格的内容
        return email

    #获取contactnumber
    def get_contactnumber(self,row):
        col = int(get_contactnumber())  #获取contactnumber所在的列数
        contactnumber = self.opera_excel.get_cell_value(row, col)   #获取指定单元格的内容
        return contactnumber

    #获取merchanttype
    def get_merchanttype(self,row):
        col = int(get_merchanttype())  #获取merchanttype所在的列数
        merchanttype = self.opera_excel.get_cell_value(row, col)   #获取指定单元格的内容
        return merchanttype

    #获取category
    def get_category(self,row):
        col = int(get_category())  #获取category所在的列数
        category = self.opera_excel.get_cell_value(row, col)   #获取指定单元格的内容
        return category

    #获取criteria
    def get_criteria(self,row):
        col = int(get_criteria())  #获取criteria所在的列数
        criteria = self.opera_excel.get_cell_value(row, col)   #获取指定单元格的内容
        return criteria

    #获取siup
    def get_siup(self,row):
        col = int(get_siup())  #获取siup所在的列数
        siup = self.opera_excel.get_cell_value(row, col)   #获取指定单元格的内容
        return siup

    #获取province
    def get_province(self,row):
        col = int(get_province())  #获取province所在的列数
        province = self.opera_excel.get_cell_value(row, col)   #获取指定单元格的内容
        return province

    #获取city
    def get_city(self,row):
        col = int(get_city())  #获取city所在的列数
        city = self.opera_excel.get_cell_value(row, col)   #获取指定单元格的内容
        return city

    #获取district
    def get_district(self,row):
        col = int(get_district())  #获取district所在的列数
        district = self.opera_excel.get_cell_value(row, col)   #获取指定单元格的内容
        return district

    #获取village
    def get_village(self,row):
        col = int(get_village())  #获取village所在的列数
        village = self.opera_excel.get_cell_value(row, col)   #获取指定单元格的内容
        return village

    #获取postcode
    def get_postcode(self,row):
        col = int(get_postcode())  #获取postcode所在的列数
        postcode = self.opera_excel.get_cell_value(row, col)   #获取指定单元格的内容
        return postcode

    #获取address
    def get_address(self,row):
        col = int(get_address())  #获取address所在的列数
        address = self.opera_excel.get_cell_value(row, col)   #获取指定单元格的内容
        return address

    #获取company
    def get_company(self,row):
        col = int(get_company())  #获取company所在的列数
        company = self.opera_excel.get_cell_value(row, col)   #获取指定单元格的内容
        return company

    #获取npwptaxid
    def get_npwptaxid(self,row):
        col = int(get_npwptaxid())  #获取npwptaxid所在的列数
        npwptaxid = self.opera_excel.get_cell_value(row, col)   #获取指定单元格的内容
        return npwptaxid

    #获取officialwebsite
    def get_officialwebsite(self,row):
        col = int(get_officialwebsite())  #获取officialwebsite所在的列数
        officialwebsite = self.opera_excel.get_cell_value(row, col)   #获取指定单元格的内容
        return officialwebsite

    #获取photosiup
    def get_photosiup(self,row):
        col = int(get_photosiup())  #获取photosiup所在的列数
        photosiup = self.opera_excel.get_cell_value(row, col)   #获取指定单元格的内容
        return photosiup

    #获取photonpwpcompany
    def get_photonpwpcompany(self,row):
        col = int(get_photonpwpcompany())  #获取photonpwpcompany所在的列数
        photonpwpcompany = self.opera_excel.get_cell_value(row, col)   #获取指定单元格的内容
        return photonpwpcompany

    #获取phototdp
    def get_phototdp(self,row):
        col = int(get_phototdp())  #获取phototdp所在的列数
        phototdp = self.opera_excel.get_cell_value(row, col)   #获取指定单元格的内容
        return phototdp

    #获取name
    def get_name(self,row):
        col = int(get_name())  #获取name所在的列数
        name = self.opera_excel.get_cell_value(row, col)   #获取指定单元格的内容
        return name

    #获取typeid
    def get_typeid(self,row):
        col = int(get_typeid())  #获取typeid所在的列数
        typeid = self.opera_excel.get_cell_value(row, col)   #获取指定单元格的内容
        return typeid

    #获取identitynumber
    def get_identitynumber(self,row):
        col = int(get_identitynumber())  #获取identitynumber所在的列数
        identitynumber = self.opera_excel.get_cell_value(row, col)   #获取指定单元格的内容
        return identitynumber

    #获取npwp
    def get_npwp(self,row):
        col = int(get_npwp())  #获取npwp所在的列数
        npwp = self.opera_excel.get_cell_value(row, col)   #获取指定单元格的内容
        return npwp

    #获取addresstwo
    def get_addresstwo(self,row):
        col = int(get_addresstwo())  #获取addresstwo所在的列数
        addresstwo = self.opera_excel.get_cell_value(row, col)   #获取指定单元格的内容
        return addresstwo

    #获取nationality
    def get_nationality(self,row):
        col = int(get_nationality())  #获取nationality所在的列数
        nationality = self.opera_excel.get_cell_value(row, col)   #获取指定单元格的内容
        return nationality

    #获取position
    def get_position(self,row):
        col = int(get_position())  #获取position所在的列数
        position = self.opera_excel.get_cell_value(row, col)   #获取指定单元格的内容
        return position

    #获取phone
    def get_phone(self,row):
        col = int(get_phone())  #获取phone所在的列数
        phone = self.opera_excel.get_cell_value(row, col)   #获取指定单元格的内容
        return phone

    #获取emailtwo
    def get_emailtwo(self,row):
        col = int(get_emailtwo())  #获取emailtwo所在的列数
        emailtwo = self.opera_excel.get_cell_value(row, col)   #获取指定单元格的内容
        return emailtwo

    #获取photofullfacebust
    def get_photofullfacebust(self,row):
        col = int(get_photofullfacebust())  #获取photofullfacebust所在的列数
        photofullfacebust = self.opera_excel.get_cell_value(row, col)   #获取指定单元格的内容
        return photofullfacebust

    #获取locationphoto
    def get_locationphoto(self,row):
        col = int(get_locationphoto())  #获取locationphoto所在的列数
        locationphoto = self.opera_excel.get_cell_value(row, col)   #获取指定单元格的内容
        return locationphoto

    #获取photoofthecashiersdesk
    def get_photoofthecashiersdesk(self,row):
        col = int(get_photoofthecashiersdesk())  #获取photoofthecashiersdesk所在的列数
        photoofthecashiersdesk = self.opera_excel.get_cell_value(row, col)   #获取指定单元格的内容
        return photoofthecashiersdesk

    #获取otherphoto
    def get_otherphoto(self,row):
        col = int(get_otherphoto())  #获取otherphoto所在的列数
        otherphoto = self.opera_excel.get_cell_value(row, col)   #获取指定单元格的内容
        return otherphoto

    #获取bank
    def get_bank(self,row):
        col = int(get_bank())  #获取bank所在的列数
        bank = self.opera_excel.get_cell_value(row, col)   #获取指定单元格的内容
        return bank

    #获取accountname
    def get_accountname(self,row):
        col = int(get_accountname())  #获取accountname所在的列数
        accountname = self.opera_excel.get_cell_value(row, col)   #获取指定单元格的内容
        return accountname

    #获取accountnumber
    def get_accountnumber(self,row):
        col = int(get_accountnumber())  #获取accountnumber所在的列数
        accountnumber = self.opera_excel.get_cell_value(row, col)   #获取指定单元格的内容
        return accountnumber

    #获取qrindoamount
    def get_qrindoamount(self,row):
        col = int(get_qrindoamount())  #获取accountnumber所在的列数
        qrindoamount = self.opera_excel.get_cell_value(row, col)   #获取指定单元格的内容
        return qrindoamount
Exemple #20
0
class GetData:
    def __init__(self):
        self.opra_excel = OperationExcel()
        self.opra_json = OperationJson()

    #获取excel的行数,也就是我们case的个数
    def get_case_lines(self):
        return self.opra_excel.get_lines()

    #获取是否执行
    def get_is_run(self, row):
        flag = None
        col = int(data_config.get_run())
        run_model = self.opra_excel.get_call_value(row, col)
        if run_model == 'yes':
            flag = True
        else:
            flag = False
        return flag

    #是否有header
    def is_header(self, row):
        col = int(data_config.get_header())
        header = self.opra_excel.get_call_value(row, col)
        if header == 'yes':
            return header
        else:
            return None

    #获取请求方式
    def get_request_method(self, row):
        col = int(data_config.get_run_way())
        request_method = self.opra_excel.get_call_value(row, col)
        return request_method

    #获取url
    def get_url(self, row):
        col = int(data_config.get_url())
        url = self.opra_excel.get_call_value(row, col)
        return url

    #获取请求数据
    def get_request_data(self, row):
        col = int(data_config.get_data())
        data = self.opra_excel.get_call_value(row, col)
        if data == '':
            return None
        else:
            return data

    #获取预期结果
    def get_except_data(self, row):
        col = int(data_config.get_expect())
        expect = self.opra_excel.get_call_value(row, col)
        if expect == '':
            return None
        return expect

    #通过获取关键字拿到data数据
    def get_data_for_json(self, row):
        request_data = self.opra_json.get_data(self.get_request_data(row))
        return request_data

    #获取实际结果
    def write_data(self, row, value):
        col = int(data_config.get_result())
        self.opra_excel.write_value(row, col, value)
Exemple #21
0
class GetData:
    def __init__(self):
        self.oprera_excel = OperationExcel()

    def get_case_lines(self):
        return self.oprera_excel.get_lines()
        #获取是否执行
    def get_is_run(self, row):
        flag = None
        col = int(data_config.get_run())
        run_model = self.oprera_excel.get_cell_value(row, col)
        if run_model == "yes":
            flag = True
        else:
            flag = False
        return flag
        #是否携带header
    def is_header(self, row):
        col = int(data_config.get_header())
        header = self.oprera_excel.get_cell_value(row, col)
        if header != "":
            return header
        else:
            return None
            #获取请求方式
    def get_request_method(self, row):
        col = int(data_config.get_run_way())
        request_method = self.oprera_excel.get_cell_value(row, col)
        return request_method
        #获取url
    def get_request_url(self, row):
        col = int(data_config.get_url())
        request_url = self.oprera_excel.get_cell_value(row, col)
        return request_url

        #获取exclee请求json关键字数据
    def get_request_data(self, row):
        col = int(data_config.get_data())
        requests_data = self.oprera_excel.get_cell_value(row, col)
        if requests_data == "":
            return None
        return requests_data

        #获取请求头 header关键字
    def get_header_data(self, row):
        col = int(data_config.get_header())
        data = self.oprera_excel.get_cell_value(row, col)
        return data

        #通过json关键字 拿到json里面data数据
    def get_data_for_json(self, row):
        opera_json = OperationJson()
        #str = self.get_request_data(row)
        request_data = opera_json.get_data(self.get_request_data(row))
        return request_data

        #通过 json文件拿到 header、数据
    def get_data_header_json(self, row):
        opera_json = OperationJson()
        #str = self.get_request_data(row)
        header_data = opera_json.get_data(self.get_header_data(row))
        return header_data

        #获取预期结果
    def get_expect_data(self, row):
        col = int(data_config.get_expect())
        expect = self.oprera_excel.get_cell_value(row, col)
        if expect == "":
            return None
        return expect

    def get_expcect_data_for_mysql(self, row):  #通过sql过去预期结果
        op_mysql = OperationMysql()
        sql = self.get_expect_data(row)
        res = op_mysql.serch_one(sql)
        return res.decode('unicode-escape')

        #写入数据
    def write_value(self, row, value):
        col = int(data_config.get_result())
        self.oprera_excel.write_value(row, col, value)

    def get_depend_key(self, row):  #获取依赖数据的values
        col = int(data_config.get_data_depend())
        depend_key = self.oprera_excel.get_cell_value(row, col)
        if depend_key == "":
            return None
        else:
            return depend_key

    def is_depend(self, row):  #获取依赖的caseID 并判断是否有依赖的case
        col = int(data_config.get_case_depend())
        depend_case_id = self.oprera_excel.get_cell_value(row, col)
        if depend_case_id == "":
            return None
        else:
            return depend_case_id

    def get_depend_field(self, row):
        col = int(data_config.get_field_depend())  #获取 依赖的返回数据 的字段
        depend_field = self.oprera_excel.get_cell_value(row, col)
        if depend_field == "":
            return None
        else:
            return depend_field
Exemple #22
0
class Getdata:
    def __init__(self):
        self.opera_excel = OperationExcel()
        self.get_data = global_var()

    # 获取Excel行数
    def get_line(self):
        return self.opera_excel.get_lines()

    # 是否运行
    def is_run(self, row):
        col = self.get_data.run
        run_model = self.opera_excel.get_content(row, int(col))

        if run_model == "yes":
            flag = True
        else:
            flag = False
        return flag

    # 是否携带header
    def is_header(self, row):
        col = self.get_data.header
        header = self.opera_excel.get_content(row, int(col))
        headers = json.dumps(header)
        if header == "":
            return None
        else:
            return headers

    # 获取请求方式
    def run_way(self, row):
        col = self.get_data.request_way
        request_method = self.opera_excel.get_content(row, int(col))
        return request_method

    # 获取url

    def get_url(self, row):
        col = self.get_data.url
        request_url = self.opera_excel.get_content(row, int(col))
        return request_url

    # 获取请求数据

    def get_request_data(self, row):
        col = self.get_data.data
        request_data = self.opera_excel.get_content(row, int(col))
        if request_data == "":
            return None
        else:
            return request_data

    # 读取json文件中的数据
    def get_data_for_json(self, row):
        # Opera_json = OperationJson('/Users/lyp/Desktop/jiekou/lover.json')
        Opera_json = OperationJson(
            "/Users/quanzi/Desktop/jiekou/love/lover.json")
        request_data_r = Opera_json.get_json_data(self.get_request_data(row))
        if request_data_r == '':
            return None
        else:
            return request_data_r

    # 读取预期数据
    def get_data_for_expect(self, row):
        col = self.get_data.expect
        expect_data = self.opera_excel.get_content(row, int(col))
        if expect_data == '':
            return None
        else:
            return expect_data

    # 读取实际结果

    def get_failed_results(self, row):
        col = self.get_data.result
        failed_result = self.opera_excel.get_content(row, int(col))
        if failed_result == '':
            return None
        else:
            return failed_result

    # 读取case_tile结果

    def get_case_Title(self, row):
        col = self.get_data.request_name

        case_Title = self.opera_excel.get_content(row, int(col))

        if case_Title == '':
            return None
        else:
            return case_Title

    def write_result(self, row, value):
        col = self.get_data.get_result()
        self.opera_excel.write_value(row, int(col), value)
Exemple #23
0
class GetData:
    def __init__(self, file_name=None, sheet_id=None):
        self.oper_excel = OperationExcel(file_name, sheet_id)

    # 获取excel行数
    def get_case_lines(self):
        lines = self.oper_excel.get_lines()
        return lines

    # 获取url地址
    def get_url(self, rowx):
        colx = data_config.get_url()
        url = self.oper_excel.get_cell_value(rowx, colx)
        return url

    # 获取flag信息
    def get_flag(self, rowx):
        colx = data_config.get_flag()
        flag = self.oper_excel.get_cell_value(rowx, colx)
        return flag

    # 获取是否运行
    def get_is_run(self, rowx):
        flag = None
        colx = data_config.get_is_run()
        is_run = self.oper_excel.get_cell_value(rowx, colx)
        if is_run == 'yes':
            flag = True
        else:
            flag = False
        return flag

    # 获取请求方式
    def get_method_type(self, rowx):
        colx = data_config.get_method_type()
        method_type = self.oper_excel.get_cell_value(rowx, colx)
        if method_type == 'get':
            return 'GET'
        elif method_type == 'post':
            return 'POST'

    def get_header(self, rowx):
        colx = data_config.get_is_header()
        header = self.oper_excel.get_cell_value(rowx, colx)
        if header == 'no':
            return None
        else:
            return header

    # 获取请求数据
    def get_request_key(self, rowx):
        colx = data_config.get_request_data()
        request_key = self.oper_excel.get_cell_value(rowx, colx)
        if request_key == '':
            return None
        else:
            return request_key

    # 获取修改的请求字段
    def get_fix_request_key(self, rowx):
        colx = data_config.get_fix_request_data()
        fix_request_key = self.oper_excel.get_cell_value(rowx, colx)
        if fix_request_key == '':
            return None
        else:
            return fix_request_key

    # 根据关键字,在json文件中获取请求数据
    def get_request_for_json(self, rowx):
        oper_json = OperationJson()
        request_key = self.get_request_key(rowx)
        if request_key is None:
            request_data = None
        else:
            request_data = oper_json.get_data(request_key)
        return request_data

    # 获取实际结果
    def get_actual_result(self, rowx):
        colx = data_config.get_actual_result()
        actual_result = self.oper_excel.get_cell_value(rowx, colx)
        return actual_result

    # 获取预期结果
    def get_expected_result(self, rowx):
        colx = data_config.get_expected_result()
        expected_result = self.oper_excel.get_cell_value(rowx, colx)
        return expected_result

    # 根据sql查询预期结果
    def get_expected_result_by_mysql(self, rowx):
        oper_mysql = OperationMysql()
        sql = self.get_expected_result(rowx)
        res = oper_mysql.search(sql)
        return res.decode('unicode-escape')

    # 将结果写入excel中
    def write_result(self, rowx, value):
        colx = data_config.get_actual_result()
        self.oper_excel.write_value(rowx, colx, value)

    # 获取依赖数据的case_id
    def get_depend_case_id(self, rowx):
        colx = data_config.get_depend_case()
        depend_case_id = self.oper_excel.get_cell_value(rowx, colx)
        if depend_case_id == "":
            return None
        else:
            return depend_case_id

    # 所依赖的结果返回的字段
    def get_depend_respons(self, rowx):
        colx = data_config.get_depend_res()
        depend_respons = self.oper_excel.get_cell_value(rowx, colx)
        if depend_respons == "":
            return None
        else:
            return depend_respons

    # 需要替换掉请求字段
    def get_depend_request(self, rowx):
        colx = data_config.get_depend_req()
        depend_request = self.oper_excel.get_cell_value(rowx, colx)
        if depend_request == "":
            return None
        else:
            return depend_request

    # 判断是否有case依赖
    def is_depend(self, rowx):
        depend_field = self.get_depend_request(rowx)
        if depend_field == "":
            return None
        else:
            return depend_field
Exemple #24
0
class GetData:
    def __init__(self):
        self.opera_excel = OperationExcel()

    #去获取excel行数,就是我们的case个数
    def get_case_lines(self):
        return self.opera_excel.get_lines()

    #获取是否执行
    def get_is_run(self, row):
        flag = None
        col = int(data_config.get_run())
        run_model = self.opera_excel.get_cell_value(row, col)
        if run_model == 'yes':
            flag = True
        else:
            flag = False
        return flag

    #是否携带header
    def is_header(self, row):
        col = int(data_config.get_header())
        header = self.opera_excel.get_cell_value(row, col)
        if header != '':
            return header
        else:
            return None

    #获取请求方式
    def get_request_method(self, row):
        col = int(data_config.get_run_way())
        request_method = self.opera_excel.get_cell_value(row, col)
        return request_method

    #获取url
    def get_request_url(self, row):
        col = int(data_config.get_url())
        url = self.opera_excel.get_cell_value(row, col)
        return url

    #获取请求数据
    def get_request_data(self, row):
        col = int(data_config.get_data())
        data = self.opera_excel.get_cell_value(row, col)
        if data == '':
            return None
        return data

    #通过获取关键字拿到data数据
    def get_data_for_json(self, row):
        opera_json = OperetionJson()
        request_data = opera_json.get_data(self.get_request_data(row))
        return request_data

    #获取预期结果
    def get_expcet_data(self, row):
        col = int(data_config.get_expect())
        expect = self.opera_excel.get_cell_value(row, col)
        if expect == '':
            return None
        return expect

    #通过sql获取预期结果
    def get_expcet_data_for_mysql(self, row):
        op_mysql = OperationMysql()
        sql = self.get_expcet_data(row)
        res = op_mysql.search_one(sql)
        return res.decode('unicode-escape')

    def write_result(self, row, value):
        col = int(data_config.get_result())
        self.opera_excel.write_value(row, col, value)

    #获取依赖数据的key
    def get_depend_key(self, row):
        col = int(data_config.get_data_depend())
        depent_key = self.opera_excel.get_cell_value(row, col)
        if depent_key == "":
            return None
        else:
            return depent_key

    #判断是否有case依赖
    def is_depend(self, row):
        col = int(data_config.get_case_depend())
        depend_case_id = self.opera_excel.get_cell_value(row, col)
        if depend_case_id == "":
            return None
        else:
            return depend_case_id

    #获取数据依赖字段
    def get_depend_field(self, row):
        col = int(data_config.get_field_depend())
        data = self.opera_excel.get_cell_value(row, col)
        if data == "":
            return None
        else:
            return data
Exemple #25
0
class GetData:
	# 构造函数把 OperationExcel 拿进来
	def __init__(self):
		self.opera_excel=OperationExcel()   
		#添加以后才能操作OperationExcel里边的数据,
		#因为后边的数据基本都需要从这里边调用,所以先进行初始化。

	# 去获取Excel行数,就是我们的case个数  跟Excel里边的方法没有任何区别,
	# 但是老师还封装了一遍  555~~~
	def get_case_lines(self):
		return self.opera_excel.get_lines()

	#获取是否执行  返回True 和 False
	def get_is_run(self,row):
		flag = None
		col=int(data_config.get_run())
		run_model=self.opera_excel.get_cell_value(row,col)
		if run_model=='yes':
			flag=True
		else:
			flag=False
		return flag

	#是否携带header
	def is_header(self,row):
		col=int(data_config.get_header()) #转换字符串为整数型
		header=self.opera_excel.get_cell_value(row,col)
		if header=='yes':
			return data_config.get_header_value()  #读取真实的header
		else:
			return None

	#获取请求方式
	def get_request_method(self,row):
		col=int(data_config.get_run_way())
		request_method =self.opera_excel.get_cell_value(row,col)
		return request_method

	#获取URL
	def get_request_url(self,row):
		col=int(data_config.get_url())
		url=self.opera_excel.get_cell_value(row,col)
		return url

	#获取请求数据
	def get_request_data(self,row):
		col=int(data_config.get_data())
		data=self.opera_excel.get_cell_value(row,col)
		if data=='':
			return None
		return data

	#通过获取关键字拿到data数据,需要跟上边的data结合起来
	#调用上边返回的data  后续调用这个方法即可,
	#上边的方法算是到json文件的一个过渡
	def get_data_for_json(self,row):
		opera_json=OperationJson()  #也可以在构造函数里边实例化
		request_data=opera_json.get_data(self.get_request_data(row))
		return request_data

	#获取预期结果
	def get_expect_data(self,row):
		col=int(data_config.get_expect())
		expect=self.opera_excel.get_cell_value(row,col)
		if expect == '':
			return None
		return expect

	# 写入数据  所有列相关的数据都在这里边,行相关的数据是不固定的,需要在主函数中确定
	def write_result(self,row,value):
		col = int(data_config.get_result())
		self.opera_excel.write_value(row,col,value)


	#获取依赖数据的key
	def get_depend_key(self,row):
		col = int(data.config.get_data_depend())
		depent_key = self.opera_excel.get_cell_value(row,col)
		if depent_key == "":
			return None
		else:
			return depent_key

	#判断时候有case依赖
	def is_depend(self,row):
		col = int(data_config.get_filed_depend())
		depend_case_id = self.opera_excel.get_cell_value(row,col)
		if depend_case_id  == "":
			return None
		else:
			return depend_case_id 

	#获取数据依赖字段
	def get_depend_filed(self,row):
		col = int(data_config.get_filed_depend())
		data = self.opera_excel.get_cell_value(row,col)
		if data == "":
			return None
		else:
			return data 
Exemple #26
0
class GetData:
    def __init__(self):
        self.oper_excel = OperationExcel()

    # 获取excel行数,即case个数
    def get_case_line(self):
        return self.oper_excel.get_lines()

    # 获取url
    def get_request_url(self, row):
        col = int(data.data_config.get_url())
        url = self.oper_excel.get_cell_value(row, col)
        return url

    # 获取是否执行
    def get_is_run(self, row):
        col = int(data.data_config.get_run())
        run = self.oper_excel.get_cell_value(row, col)
        if run == 'yes':
            flag = True
        else:
            flag = False
        return flag

    # 获取请求方式
    def get_request_method(self, row):
        col = int(data.data_config.get_request_way())
        url = self.oper_excel.get_cell_value(row, col)
        return url

    # 获取是否携带header
    def is_header(self, row):
        col = int(data.data_config.get_header())
        header = self.oper_excel.get_cell_value(row, col)
        if header == 'yes':
            return data.data_config.get_header_value()
        else:
            return None

    # 获取请求数据
    # def get_request_data(self,row):
    #     oper_json = OperationJson()
    #     col = int(data.data_config.get_data())
    #     request_data = self.oper_excel.get_cell_value(row, col)
    #     if request_data == '':
    #         return None
    #     else:
    #         return oper_json.get_data(request_data)
    # 这样写行不行?视频7-7 13分钟
    def get_request_data(self, row):
        col = int(data.data_config.get_data())
        request_data = self.oper_excel.get_cell_value(row, col)
        if request_data == '':
            return None
        else:
            return request_data

    # 通过获取关键字拿到json数据
    def get_json_data(self, row):
        oper_json = OperationJson()
        data = oper_json.get_data(self.get_request_data(row))
        return data

    # 获取预期结果
    def get_expect_value(self, row):
        col = int(data.data_config.get_expect())
        expect = self.oper_excel.get_cell_value(row, col)
        if expect == '':
            return None
        else:
            return expect
Exemple #27
0
class GetData(object):
    def __init__(self):
        self.op_excel = OperationExcel()

    def get_case_lines(self):
        return self.op_excel.get_lines()

    def get_run(self, row):
        flag = None
        col = int(data_config.get_run())
        run_model = self.op_excel.get_cell_value(row, col)
        if run_model == 'yes':
            flag = True
        else:
            flag = False
        return flag

    def get_header(self, row):
        col = int(data_config.get_header())
        header = self.op_excel.get_cell_value(row, col)
        if header != '':
            return header
        else:
            return None

    def get_request_method(self, row):
        col = int(data_config.get_request_method())
        request_method = self.op_excel.get_cell_value(row, col)
        return request_method

    def get_url(self, row):
        col = int(data_config.get_url())
        url = self.op_excel.get_cell_value(row, col)
        return url

    def get_request_data(self, row):
        col = int(data_config.get_request_data())
        request_data = self.op_excel.get_cell_value(row, col)
        if request_data == "":
            return None
        return request_data

    def get_data_for_json(self, row):
        op_json = OperationJson()
        request_data_for_json = op_json.get_data(self.get_request_data(row))
        return request_data_for_json

    def get_expect(self, row):
        col = int(data_config.get_expect())
        expect = self.op_excel.get_cell_value(row, col)
        if expect == "":
            return None
        return expect

    def get_expect_data_for_mysql(self, row):
        op_mysql = OperationMySQL()
        sql = self.get_expect(row)
        res = op_mysql.search_one(sql)
        return res

    def write_result(self, row, value):
        col = int(data_config.get_result())
        self.op_excel.write_value(row, col, value)

    def get_data_depend(self, row):
        col = int(data_config.get_data_depend())
        data_depend = self.op_excel.get_cell_value(row, col)
        if data_depend == "":
            return None
        else:
            return data_depend

    def get_case_depend(self, row):
        col = int(data_config.get_case_depend())
        case_depend = self.op_excel.get_cell_value(row, col)
        if case_depend == "":
            return None
        else:
            return case_depend

    def get_depend_response_data(self, row):
        col = int(data_config.get_depend_response_data())
        depend_response_data = self.op_excel.get_cell_value(row, col)
        if depend_response_data == "":
            return None
        else:
            return depend_response_data