class TaskCaseRecord(EntityModel): ACTIVE = 0 # case创建 DISABLE = 1 # case已删除 SKIP = 2 # 跳过 GOOD = 3 # case执行通过 NOTGOOD = 4 # case执行不通过 task_case_id = db.Column(db.Integer) # 关联的task_case_id task_id = db.Column(db.Integer) # 关联的taskID executor = db.Column(db.Integer) # 用例执行者保存的为用户id exe_way = db.Column(db.Integer) # 执行方式,0:批量执行 1:单个执行 SMOKING_CASE = 0 FUNCTION_CASE = 1 title = db.Column(db.String(300)) # 标题 cnumber = db.Column(db.String(100)) # 编号 module_id = db.Column(db.Integer) # 用例模块 feature_id = db.Column(db.Integer) # 子模块 ctype = db.Column(db.String(10)) # taskcase用例类型 description = db.Column(db.String(300)) # 用例描述 precondition = db.Column(db.Text()) # 前置条件 step_result = db.Column(db.Text()) # 用例步骤及预期结果 json->string格式存入 is_auto = db.Column(db.Integer, default=DISABLE) # 是否可转自动化 status = db.Column(db.Integer, default=ACTIVE) # 用例任务状态 comment = db.Column(db.String(300)) # 备注 version = db.Column(db.Integer) # 所属版本 project_id = db.Column(db.Integer) # 所属项目 modifier = db.Column(db.Integer) # 修改人ID handler = db.Column(db.Integer) # 处理人ID priority = db.Column(db.Integer) # 优先级 0:紧急 1:高 2:中 3:低
class Task(EntityWithNameModel): # 任务状态 0:任务创建 1:任务已删除 2:任务已完成 3:任务被拒绝 ACTIVE = 0 # 任务创建,待审核状态 DISABLE = 1 # 任务已删除 FINISH = 2 # 任务已完成 REJECT = 3 # 任务被拒绝 STATUS_HOLDING = 2 # 任务审核通过,待执行 STATUS_DOING = 3 # 任务执行中 STATUS_REJECT = 4 # 任务拒绝 STATUS_DONE = 5 # 任务已完成 description = db.Column(db.String(300)) # 任务描述 testreport = db.Column(db.Text()) # 测试报告 tmethod = db.Column(db.String(50)) # 任务方法:自动化 or 人工测试 ttype = db.Column(db.String(50)) # 任务类型:功能测试,兼容性测试... status = db.Column(db.Integer, default=ACTIVE) # 任务状态 case_list = db.Column(db.Text()) # case列表 creator = db.Column(db.Integer) # 创建任务的人 executor = db.Column(db.Integer) # 执行任务的人 priority = db.Column(db.Integer) # 优先级 0:紧急 1:高 2:中 3:低 start_time = db.Column(db.TIMESTAMP) # 任务开始时间 end_time = db.Column(db.TIMESTAMP) # 任务结束时间 project_id = db.Column(db.Integer) # 项目ID version = db.Column(db.Integer) # 所属版本 ext = db.Column(db.Text()) attach = db.Column(db.Text()) # 附件: 用例测试完成后的测试附件 attachment = db.Column(db.String(300)) # 附件:新建修改任务的时候上传的 附件文件 tag = db.Column(db.String(300)) # 标签
class Feedback(EntityModel): ACTIVE = 0 DISABLE = 1 contact = db.Column(db.String(200)) # 联系方式 creator = db.Column(db.Integer) # 创建人 status = db.Column(db.Integer, default=ACTIVE) # 反馈状态 comment = db.Column(db.Text()) # 备注 weight = db.Column(db.Integer, default=1) # 权重,仅作用于排序
class Module(EntityWithNameModel): ACTIVE = 0 DISABLE = 1 project_id = db.Column(db.Integer, nullable=False) description = db.Column(db.Text()) # 描述 weight = db.Column(db.Integer, default=1) # 权重 status = db.Column(db.Integer, default=ACTIVE) # 状态 parent_id = db.Column(db.Integer, nullable=True) # 二级
class Case(EntityModel): SMOKING_CASE = 0 FUNCTION_CASE = 1 ACTIVE = 0 DISABLE = 1 cnumber = db.Column(db.String(100)) # 编号 module_id = db.Column(db.Integer) # 用例模块 ctype = db.Column(db.String(10)) # 用例类型 title = db.Column(db.String(300)) # 标题 description = db.Column(db.String(300)) # 用例描述 precondition = db.Column(db.Text()) # 前置条件 step_result = db.Column(db.Text()) # 用例步骤及预期结果 json->string格式存入 is_auto = db.Column(db.Integer, default=DISABLE) # 是否可转自动化 status = db.Column(db.Integer, default=ACTIVE) # 用例状态 creator = db.Column(db.Integer) # 创建人 priority = db.Column(db.Integer) # 优先级 0:紧急 1:高 2:中 3:低
class Project(EntityWithNameModel): ACTIVE = 0 DISABLE = 1 description = db.Column(db.String(1000), nullable=True) # 产品描述 status = db.Column(db.Integer, default=ACTIVE) weight = db.Column(db.Integer, default=1) ext = db.Column(db.Text()) logo = db.Column(db.String(2048), comment='信息logo') # 产品logo url
class Tag(EntityModel): ACTIVE = 0 # case创建 DISABLE = 1 # case已删除 tag = db.Column(db.String(300)) # 标签 project_id = db.Column(db.Integer) # 所属项目 status = db.Column(db.Integer, default=ACTIVE) # 配置标签状态 description = db.Column(db.Text()) # 配置描述 creator = db.Column(db.String(300)) # 配置增加人 tag_type = db.Column(db.Integer) # 配置类型 1表示需求2任务3issue
class TrackUser(EntityModel): ACTIVE = 0 DISABLE = 1 nickname = db.Column(db.String(100)) wx_userid = db.Column(db.String(200)) status = db.Column(db.Integer, default=ACTIVE) email = db.Column(db.String(100)) telephone = db.Column(db.String(30)) weight = db.Column(db.Integer, default=1) track_token = db.Column(db.Text()) name = db.Column(db.String(100)) user_id = db.Column(db.Integer)
class InterfaceCaseData(EntityWithNameModel): ACTIVE = 0 DISABLE = 1 num = db.Column(db.Integer(), nullable=True, comment='步骤序号,执行顺序按序号来') status = db.Column(db.String(16), comment='状态,true表示执行,false表示不执行') name = db.Column(db.String(128), comment='步骤名称') up_func = db.Column(db.String(256), comment='步骤执行前的函数') down_func = db.Column(db.String(256), comment='步骤执行后的函数') time = db.Column(db.Integer(), default=1, comment='执行次数') param = db.Column(db.Text(), default=u'[]') status_param = db.Column(db.String(64), default=u'[true, true]') variable = db.Column(db.Text()) json_variable = db.Column(db.Text()) status_variables = db.Column(db.String(64)) extract = db.Column(db.String(2048)) status_extract = db.Column(db.String(64)) validate = db.Column(db.String(2048)) status_validate = db.Column(db.String(64)) case_id = db.Column(db.Integer) api_msg_id = db.Column(db.Integer) execute_status = db.Column(db.Integer, default=ACTIVE) # 状态
class InterfaceCase(EntityWithNameModel): ACTIVE = 0 DISABLE = 1 num = db.Column(db.Integer(), nullable=True, comment='用例序号') name = db.Column(db.String(128), nullable=True, comment='用例名称') desc = db.Column(db.String(256), comment='用例描述') func_address = db.Column(db.String(256), comment='用例需要引用的函数') variable = db.Column(db.Text(), comment='用例公共参数') times = db.Column(db.Integer(), nullable=True, comment='执行次数') project_id = db.Column(db.Integer, comment='所属的项目id') case_set_id = db.Column(db.Integer, comment='所属的用例集id') status = db.Column(db.Integer, default=ACTIVE) # 状态
class User(EntityWithNameModel): ACTIVE = 0 DISABLE = 1 nickname = db.Column(db.String(100), nullable=True) wx_userid = db.Column(db.String(200)) password = db.Column(db.String(100), nullable=False) status = db.Column(db.Integer, default=ACTIVE) email = db.Column(db.String(100)) telephone = db.Column(db.String(30)) weight = db.Column(db.Integer, default=1) ext = db.Column(db.Text()) picture = db.Column(db.String(300), nullable=True)
class InterfaceApiMsg(EntityWithNameModel): ACTIVE = 0 DISABLE = 1 num = db.Column(db.Integer(), nullable=True, comment='接口序号') name = db.Column(db.String(128), nullable=True, comment='接口名称') desc = db.Column(db.String(256), nullable=True, comment='接口描述') variable_type = db.Column(db.String(32), nullable=True, comment='参数类型选择') status_url = db.Column(db.String(32), nullable=True, comment='基础url,序号对应项目的环境') up_func = db.Column(db.String(128), comment='接口执行前的函数') down_func = db.Column(db.String(128), comment='接口执行后的函数') method = db.Column(db.String(32), nullable=True, comment='请求方式') variable = db.Column(db.Text(), comment='form-data形式的参数') json_variable = db.Column(db.Text(), comment='json形式的参数') param = db.Column(db.Text(), comment='url上面所带的参数') url = db.Column(db.String(256), nullable=True, comment='接口地址') extract = db.Column(db.String(2048), comment='提取信息') validate = db.Column(db.String(2048), comment='断言信息') header = db.Column(db.String(2048), comment='头部信息') module_id = db.Column(db.Integer, comment='所属的接口模块id') project_id = db.Column(db.Integer, nullable=True, comment='所属的项目id') status = db.Column(db.Integer, default=ACTIVE) # 状态
class InterfaceProject(EntityWithNameModel): ACTIVE = 0 DISABLE = 1 description = db.Column(db.String(1000), nullable=True) # 产品描述 status = db.Column(db.Integer, default=ACTIVE) weight = db.Column(db.Integer, default=1) ext = db.Column(db.Text()) # name = db.Column(db.String(64), nullable=True, unique=True, comment='项目名称') # id = db.Column(db.Integer(), primary_key=True, comment='主键,自增') host = db.Column(db.String(1024), nullable=True, comment='测试环境') host_two = db.Column(db.String(1024), comment='开发环境') host_three = db.Column(db.String(1024), comment='线上环境') host_four = db.Column(db.String(1024), comment='备用环境') environment_choice = db.Column(db.String(16), comment='环境选择,first为测试,以此类推') principal = db.Column(db.String(512), nullable=True) variables = db.Column(db.String(2048), comment='项目的公共变量') headers = db.Column(db.String(1024), comment='项目的公共头部信息') all_project_id = db.Column(db.Integer, comment='项目的总id') user_id = db.Column(db.Integer(), nullable=True, comment='所属的用户id')
class ProjectBindBusiness(EntityModel): project_id = db.Column(db.Integer) # 项目ID business_id = db.Column(db.Integer) # 业务ID ext = db.Column(db.Text())