Ejemplo n.º 1
0
class DependentData:
    def __init__(self, case_id):
        self.case_id = case_id
        self.run_method = RunMethod()
        self.opera_excel = OperationExcel()
        self.data = GetData()

    # 获取依赖数据的行号
    def get_depend_row(self):
        row_num = self.opera_excel.get_row_num(self.case_id)
        return row_num

    # 获取依赖行的数据
    def get_depend_line_data(self):
        row_data = self.opera_excel.get_row_data(self.case_id)
        return row_data

    # 执行依赖数据,获取接口返回的数据
    def get_dependent_data(self):
        row_num = self.opera_excel.get_row_num(
            self.case_id)  # 根据依赖的case_id获取依赖数据的行号
        request_data = self.data.get_request_data(row_num)  # 根据行号获取请求的数据
        url = self.data.get_request_url(row_num)
        headers = self.data.get_is_header(row_num)
        method = self.data.get_request_method(row_num)
        res = self.run_method.run_main(method, url, request_data, headers)
        return json.loads(res)

    # 根据接口返回的数据,获取依赖字段对应的值
    def get_dependent_values(self, row):
        depend_key = self.data.get_depend_key(row)  # 获取依赖的字段key
        response_data = self.get_dependent_data()  # 获取依赖接口返回的数据
        json_exe = parse(depend_key)
        madle = json_exe.find(response_data)
        return [math.value for math in madle][0]
Ejemplo n.º 2
0
 def run_dependdent(self):
     row_num = OperationExcel().get_row_num(self.case_id)
     url = Get_Token().get_url(
         client_type=GetData().get_client_type(row_num),
         api=GetData().get_api(row_num))
     method = GetData().get_request_method(row_num)
     data = GetData().get_data(row_num)
     data = json.loads(data)
     header = Get_Token().get_header(row_num)
     res = RunMethod().run_main(method, url, header, data)
     return res.json()
Ejemplo n.º 3
0
 def __init__(self):
     self.operation_excel = OperationExcel()
Ejemplo n.º 4
0
class GetData:
    def __init__(self):
        self.operation_excel = OperationExcel()

    #去获取excel 的行数,也就是用例的个数
    def get_case_lines(self):
        return self.operation_excel.get_lines()

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

    #获取case名称
    def get_case_name(self, row):
        col = data_conf.get_case_name()
        case_name = self.operation_excel.get_cell_value(row, col)
        return case_name

    #获取请求方法
    def get_request_method(self, row):
        col = data_conf.get_runway()
        request_method = self.operation_excel.get_cell_value(row, col)
        return request_method

    #获取客户端类型 新零售 还是微商城
    def get_client_type(self, row):
        col = data_conf.get_client_type()
        client_type = self.operation_excel.get_cell_value(row, col)
        return client_type

    #获取请求接口URL
    def get_request_url(self, row):
        host_col = data_conf.get_host()
        api_col = data_conf.get_api()
        url = self.operation_excel.get_cell_value(
            row, host_col) + self.operation_excel.get_cell_value(row, api_col)
        return url

    def get_api(self, row):
        api_col = data_conf.get_api()
        api = self.operation_excel.get_cell_value(row, api_col)
        return api

    #获取请求数据
    def get_data(self, row):
        col = data_conf.get_data()
        data = self.operation_excel.get_cell_value(row, col)
        return data

    #通过关键字拿到data数据
    def get_data_for_json(self):
        oper_json = OperationJson()
        request_data = oper_json.get_data()
        return request_data

    def get_header(self, row):
        col = data_conf.get_header()
        header = self.operation_excel.get_cell_value(row, col)
        return header

    def get_expect_data(self, row):
        col = data_conf.get_expect()
        expect_data = self.operation_excel.get_cell_value(row, col)
        return expect_data

    # 写入数据
    def write_result(self, row, value):
        col = int(data_conf.get_result())
        self.operation_excel.write_excel(row, col, value)

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

    #判断是否有case依赖
    def is_depend(self, row):
        col = int(data_conf.get_case_depend())
        depend_case_id = self.operation_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_conf.get_field_depend())
        data = self.operation_excel.get_cell_value(row, col)
        if data == '':
            return None
        else:
            return data
Ejemplo n.º 5
0
import unittest  # 测试用例是在unittest框架下编写
from interface.add_department import AddDepartment
from common.get_keyword import GetKeyword
from common.operation_excel import OperationExcel
import ddt

oper = OperationExcel("../data/add_dep.xlsx")  # 表格路径
test_data = oper.get_data_by_index()


@ddt.ddt
class TestAddDep(unittest.TestCase):
    def setUp(self) -> None:
        self.add_dep = AddDepartment()

    @ddt.data(*test_data)
    def test_add_dep(self, data):
        '''添加成功的测试用例'''
        re_data = {
            "data": [{
                "dep_id": data["dep_id"],
                "dep_name": data["dep_name"],
                "master_name": data["master_name"],
                "slogan": data["slogan"]
            }]
        }
        response = self.add_dep.add_dep(re_data)  # 得到新增学院的接口返回值
        # 获取添加成功后的dep_id
        # self.add_dep.get_depid(data) # 因为直接使用该方法相当于又执行了一次添加学院接口

        if "status_code" in response.keys():  # 判断status_code是否在返回值的键中
Ejemplo n.º 6
0
class GetData:
    def __init__(self):
        self.excel = OperationExcel()
        self.json = OperationJson()
        self.mysql = OperationMySQL()
        self.data = data.data_config

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

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

    # 获取请求方式
    def get_method(self, row):
        col = self.data.get_method()
        return self.excel.get_cell_value(row, col)

    # 获取url
    def get_url(self, row):
        col = self.data.get_url()
        return self.excel.get_cell_value(row, col)

    # 是否需要headers
    def is_headers(self, row):
        col = self.data.get_headers()
        headers = self.excel.get_cell_value(row, col)
        if headers == 'no':
            return None
        else:
            return headers

    # 请求参数
    def get_request_data(self, row):
        col = self.data.get_request_data()
        request_data = self.excel.get_cell_value(row, col)
        if request_data == '':
            return None
        else:
            return request_data

    # 根据关键字拿到data
    def get_data_for_json(self, row):
        return self.json.get_data(self.get_request_data(row))

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

    # 在MySQL中获取结果
    def get_expect_data_from_mysql(self, row):
        sql = self.get_expect_data(row)
        res = self.mysql.search_one(sql)
        return res

    # 在Excel中写入结果
    def write_result(self, row, value):
        col = self.data.get_result()
        self.excel.write_value(row, col, value)
Ejemplo n.º 7
0
 def __init__(self):
     self.excel = OperationExcel()
     self.json = OperationJson()
     self.mysql = OperationMySQL()
     self.data = data.data_config
Ejemplo n.º 8
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(dataconfig.get_run())
        run_modul = self.opera_excel.get_cell_value(row, col)
        if run_modul == 'yes':
            flag = True
        else:
            flag = False
        return flag

    # 判断是否携带header
    def get_is_header(self, row):
        col = int(dataconfig.get_header())
        header = json.loads(self.opera_excel.get_cell_value(row, col))
        if header != '':
            header = dataconfig.get_header_value()
        else:
            header = None
        return header

    # 获取请求方式
    def get_request_method(self, row):
        col = int(dataconfig.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(dataconfig.get_url())
        request_url = self.opera_excel.get_cell_value(row, col)
        return request_url

    # 获取请求的数据
    def get_request_data(self, row):
        col = int(dataconfig.get_data())
        request_data = json.loads(self.opera_excel.get_cell_value(row, col))
        return request_data

    # 获取依赖的case_id
    def get_depend_case(self, row):
        col = int(dataconfig.get_case_depend())
        case_id = self.opera_excel.get_cell_value(row, col)
        return case_id

    # 获取依赖的字段
    def get_depend_key(self, row):
        col = int(dataconfig.get_data_depend())
        depend_key = self.opera_excel.get_cell_value(row, col)
        return depend_key

    # 获取依赖数据的传参的key
    def get_field_depend(self, row):
        col = int(dataconfig.get_field_depend())
        depend_field = self.opera_excel.get_cell_value(row, col)
        return depend_field

    # 获取预期结果数据
    def get_expect_data(self, row):
        col = int(dataconfig.get_expect())
        except_data = self.opera_excel.get_cell_value(row, col)
        return except_data

    # 写入实际结果
    def write_result(self, row, value):
        col = int(dataconfig.get_result())
        self.opera_excel.write_value(row, col, value)
Ejemplo n.º 9
0
 def __init__(self, case_id):
     self.case_id = case_id
     self.run_method = RunMethod()
     self.opera_excel = OperationExcel()
     self.data = GetData()
Ejemplo n.º 10
0
 def get_case_line_data(self):
     rows_data = OperationExcel().get_rows_data(self.case_id)
     return rows_data