• 测试平台系列(59) 调整用例列表页


    大家好~我是米洛


    这是一个完整的接口测试平台系列教程,希望能和大家一起学习,从0到1打造一个开源平台。



    欢迎关注我的公众号测试开发坑货,获取最新文章教程!

    回顾

    上一节我们讲了怎么去设计用例目录表,而因为之前我们的case是跟项目绑定的,所以我们这一节去改进case相关部分。

    理清关系

    之前用例表里面会有一个project_id和category字段,分别代表项目和目录。我们上节已经制造了目录表,所以需要先去掉之前的project_id字段和目录字段,改为directory_id字段。

    其实我们可以简单点,把project_id直接换成directory_id,接着删除category字段。但这样的话,会影响到项目列表页面。

    但没关系,本来我们就是要把项目列表页里的case页面剔除的。

    原来的project_id换成了directory_id并且注释掉了category

    form字段里面也做类似的事情

    改写查询项目的接口

    去掉原先查询case树的方法,不返回tree了

    页面上的改动:

    去掉了左侧的用例列表

    规划一下列表页

    既然旧的列表页给干掉了,那么新的列表页应该怎么展示呢?

    上节我们编写了case目录,那用例是跟目录关联起来的,所以我们大概设想一下这样一个页面:

    因为没画原型图,所以直接用做好的页面展示了

    可以看到,布局是左右布局:

    • 左侧

      项目选择和目录树,目录树经过我们上一节的处理,可以疯狂嵌套。目前来看的话,目录还不支持移动,比较可惜。

    • 右侧

      右侧就是一个用例列表页,XXX目录下的用例列表,其中还能够根据用例名称和创建人来过滤case。

      这边case就没有继续做分页了,单个目录下的case应该不会到几千条那么夸张。

    接下来干嘛?

    当然是为前端的展示提供这些数据。我们目前需要支持创建人+用例名称+目录的方式进行查询。

    而目录又会嵌套,所以我们需要找出目录的所有儿子。又因为目录不可能会那么那么多,所以我们找出待查目录所有非根节点目录

    比如我要查根目录A下的数据,那么其他根目录肯定不是A的儿子,而是A的兄弟。

    如果用一层层for循环去查询数据的话,势必会很影响性能,当然我这里建议大家把查询的结果缓存到redis,一般来说目录咱们不会轻易更换,更换的时候删除下缓存即可,这样会事半功倍。

    开始行动

    • 编写获取A下面所有子目录的方法

    1. 首先找出所有parent 等于 directory_id 或者 不是根目录的数据
    2. 和之前一样,把他们塞到一个map里面去,这样建立parent -> son(也就是父亲到儿子之间的映射)
    3. 编写获取儿子的方法(递归),把所有的孩子节点都放到result之中
    • 调整list_testcase方法

    首先获取所有directory_id下的目录,然后找出未删除且directory_id in这些目录的case。

    之后如果有其他条件,比如name,create_user这样的,再加入筛选条件

    接着根据case名称排序即可。

    完善list接口

    最终效果

    只看右侧的话,他就是一个列表页面,但这边的区别就是他和左侧目录树进行了打通

    拜了个拜,下篇讲下如何部署,至于用例的编辑/新增/执行这块,还需要一些时间。

  • 相关阅读:
    python unittest一个简单的实例
    解决python编码格式错误问题
    一个简便的方法,获取某个页面元素的Xpath值
    Xpath基础语法学习
    postman发送带cookie的http请求
    postman测试接口之POST提交本地文件数据
    使用Jmeter录制web脚本
    mac 之 jmeter下载、解压、启动
    第三方测评公司的一些基础理念
    jmeter简单的压测案例——访问百度并发5,持续请求15
  • 原文地址:https://www.cnblogs.com/we8fans/p/15290997.html
Copyright © 2020-2023  润新知