Exemple #1
0
class TestCase:
    def __init__(self):
        self.opera_execl = OperationExcel()
        self.base_driver = BaseDriver()

    def run_main(self):
        row_num = self.opera_execl.get_rows()
        for i in range(1, row_num):
            is_run = self.opera_execl.get_cell(i, 2)
            if is_run == "no":
                method = self.opera_execl.get_cell(i, 3)
                opera = self.opera_execl.get_cell(i, 4)
                send_value = self.opera_execl.get_cell(i, 5)
                self.run_method(method, opera, send_value)

    def run_method(self, method, opera, send_value):
        base_driver_function = getattr(self.base_driver, method)
        if send_value == "":
            if opera == "":
                base_driver_function()
            else:
                base_driver_function(opera)
        else:
            base_driver_function(opera, send_value)
Exemple #2
0
class GetData:
    def __init__(self):
        self.data = OperationExcel()

    #获取行数
    def get_excel_lines(self):
        return self.data.get_lines()

    #获取id
    def get_test_id(self, row):
        return self.data.get_cell(row, 0)

    #获取用例名称
    def get_test_name(self, row):
        return self.data.get_cell(row, 1)

    #获取url
    def get_url(self, row):
        return self.data.get_cell(row, 2)

    #获取是否执行
    def get_is_run(self, row):
        res = self.data.get_cell(row, 3)
        if res == "yes":
            return True
        else:
            return False

    #获取请求方式
    def get_methon(self, row):
        return self.data.get_cell(row, 4)

    #获取头部信息
    def get_header(self, row):
        res = self.data.get_cell(row, 5)
        if res != "":
            return res
        else:
            return None

    #获取请求数据
    def get_request_data(self, row):
        res = self.data.get_cell(row, 9)
        if res == "":
            return None
        else:
            res = OperaJson().get_data(res)
            return res

    #获取预期结果
    def get_expect(self, row):
        res = self.data.get_cell(row, 10)
        return res

    #获取依赖id
    def get_depends_id(self, row):
        res = self.data.get_cell(row, 6)
        return res

    #获取依赖数据
    def get_depends_key(self, row):
        res = self.data.get_cell(row, 7)
        return res

    #获取依赖字段
    def get_depends_on(self, row):
        res = self.data.get_cell(row, 8)
        return res
Exemple #3
0
class GetData:
    def __init__(self):
        """
        初始化获取数据类
        """
        self.opera_excel = OperationExcel()
        self.data_config = GlobalVar()

    def get_case_num(self):
        """
        获取excel行数,就是我们的case个数
        :return: case个数
        """
        return self.opera_excel.get_row()

    def is_run(self, row):
        """
        获取是否运行
        :param row: 所在行数
        :return: 是否运行的布尔值
        """
        col = int(self.data_config.get_run())
        run_model = self.opera_excel.get_cell(row, col)
        if run_model == 'yes':
            return True
        else:
            return False

    def is_cookie(self, row):
        """
        获取是否携带cookie
        :param row: 所在行数
        :return: cookie
        """
        col = int(self.data_config.get_cookie())
        cookie = self.opera_excel.get_cell(row, col)
        if cookie == "no":
            return None
        return cookie

    def is_header(self, row):
        """
        获取是否携带header
        :param row: 所在行数
        :return: header
        """
        col = int(self.data_config.get_header())
        header = self.opera_excel.get_cell(row, col)
        if header == "no":
            return None
        return header

    def get_method(self, row):
        """
        获取请求方式
        :param row: 所在行数
        :return: 请求方式
        """
        col = int(self.data_config.get_method())
        return self.opera_excel.get_cell(row, col)

    def get_request_url(self, row):
        """
        获取请求地址
        :param row: 所在行数
        :return: 请求地址
        """
        col = int(self.data_config.get_url())
        return self.opera_excel.get_cell(row, col)

    def get_request_data(self, row):
        """
        获取请求参数
        :param row: 所在行数
        :return: 请求参数
        """
        col = int(self.data_config.get_data())
        data = self.opera_excel.get_cell(row, col)
        if data == '':
            return None
        return data

    def get_data_for_json(self, row):
        """
        通过json获取关键字对应的数据
        :param row: 所在行数
        :return: 关键字对应的数据
        """
        operation_json = OperationJson()
        return operation_json.get_data(self.get_request_data(row))

    def get_expect_data(self, row):
        """
        获取预期结果
        :param row: 行数
        :return: 预期结果
        """
        col = int(self.data_config.get_expect())
        expect_data = self.opera_excel.get_cell(row, col)
        if expect_data == ' ':
            return None
        return expect_data

    def write_result(self, row, value):
        """
        写入实际结果
        :param row: 行数
        :param value: 写入的值
        """
        col = int(self.data_config.get_result())
        self.opera_excel.write_value(row, col, value)

    def get_depend_key(self, row):
        """
        获取依赖的返回数据
        :param row: 行数
        :return: 返回数据的格式
        """
        col = int(self.data_config.get_data_depend())
        depend_key = self.opera_excel.get_cell(row, col)
        if depend_key == "":
            return None
        else:
            return depend_key

    def is_depend(self, row):
        """
        判断是否有case依赖
        :param row: 行数
        :return: 返回依赖的用例id
        """
        col = int(self.data_config.get_case_depend())
        depend_case_id = self.opera_excel.get_cell(row, col)
        if depend_case_id == "":
            return None
        else:
            return depend_case_id

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