大家好~我是小方,欢迎大家关注笋货测试笔记体完记得俾个like呀
回顾
在上篇中,用例的展示功能我们已经开发完毕,列表的展示逻辑还是挺复杂的,接着我们得把目光转向用例的操作,长话短说,今天要完成的是用例详情展示以及用例参数组合的增删改查···
顺便说一句,数据工厂的前端项目我已经全部开源了,大家可拉取最新的代码体验一下···
- 前端项目地址
用例详情展示
给大家看一下,用例详情具体是这样子的
这里可以通过case表关联project表查出所有的所有信息
@classmethod
def case_detail_by_id(cls, id: int, user = None):
"""
获取某个造数场景
:param id: 用例id
:param user: 用户数据
:return:
"""
with Session() as session:
case = session.query(DataFactoryCases.owner, DataFactoryCases.group_name, DataFactoryCases.description, DataFactoryCases.create_name, DataFactoryCases.create_time, DataFactoryCases.update_time,
DataFactoryCases.id, DataFactoryCases.path, DataFactoryCases.project_id, DataFactoryCases.name, DataFactoryCases.example_param_in, DataFactoryCases.example_param_out,
DataFactoryCases.param_in, DataFactoryCases.param_out, DataFactoryCases.title, DataFactoryProject.project_name, DataFactoryProject.git_project, DataFactoryProject.directory).\
join(DataFactoryCases, DataFactoryCases.project_id == DataFactoryProject.id).\
filter(DataFactoryCases.id == id,DataFactoryCases.del_flag == 0).first()
if user:
ProjectRoleDao.read_permission(case.project_id, user)
if case is None:
raise Exception("场景不存在")
return case
这里逻辑比较简单,先不解释,至于这里的user数据为啥为空,不为空时判断权限,接着看后面你就知道了
详情接口前端接上后,展示美美哒
用例参数组合
参数组合顾名思义就是造数脚本的入参组合,数据工厂上的参数组合,其实就是将入参组合保存下来,给其他人作为一个demo示例或者生成外调链接给到其他人使用,譬如一个创建订单脚本,我要创建待付款的订单,入参是type=1,商品数据xxx,我们将该参数保存下来,其他人就可以快速知道,哦~用这个商品数据就可以创建待付款的订单数据;也可以将外调链接复制给到产品、测试、开发使用,岂不是美滋滋···
- 设计表模型
from sqlalchemy import Column,INT,Text,String
from app.models.base import FunBaseModel
class DataFactoryCasesParams(FunBaseModel):
"""参数表"""
__tablename__ = 'data_factory_cases_params'
cases_id = Column(INT, nullable=False, comment="造数场景id")
params = Column(Text, nullable=True, comment="请求参数")
name = Column(String(32), nullable=False, comment="参数组合名称")
out_id = Column(String(64), nullable=False, comment="外链id")
def __init__(self, cases_id, params, name, out_id, user, del_flag=0, id=None):
super().__init__(create_id=user['id'], create_name=user['username'], del_flag=del_flag, id=id)
self.cases_id = cases_id
self.params = params
self.name = name
self.out_id = out_id
表的话,主要存用例id、参数组合名称和外链id
- 新增参数组合
比较普通的单表插入,插入之前先校验是否存在,是否重复
- 编辑参数组合
也比较简单,这里先不说了
- 删除参数组合
直接根据主键id查出数据,再置为删除
- 参数组合列表
通过用例id查出所有的参数组合,再进行分页
-
前端页面
-
保存参数组合
-
编辑参数组合
-
参数组合展示
-
总结
用例详情以及用例的参数组合增删改查已经开发完毕,本篇还是比较简单···前端相关的页面,大家可看看前端项目源码,前端相关的暂时pass···下篇我们来进行用例执行的开发以及日志记录/展示···未完待续···
- 项目地址