• 测试平台系列(62) 让前置条件有自己的顺序


    大家好~我是米洛,欢迎关注我的公众号测试开发坑货!

    回顾

    上一节我们讲了用例编辑页面相关的调整,但因为我们的前置条件还不支持按顺序执行,所以我们今天来搞定它。

    思考一下该怎么做

    其实比较简单,我们给前置条件的表,加一个index的字段,这样的话它就有了自己的顺序,以后我们取用例的前置条件就可以根据index来获取顺序了,执行case的时候也不会错乱了。

    动起来

    新增index字段

    加入index字段,INT类型

    编写获取最新索引的方法

    先查询这个case下的所有前置条件,按index的倒序排列,如果没查到,则说明没有前置条件,直接返回0,否则返回index+1。

    接着在插入前置条件的时候,给它赋予最新的index


    注意一个问题

    如果调整顺序的时候,可能每个元素都挪动了,那该怎么办呢?

    所以我们需要一个批量更新index的方法:

    编写更新顺序的方法

    在sqlalchemy里面,可以用bulk_update_mappings去批量更新一些数据,但前提是必须带上id字段

    遗憾的是,异步session不支持这方法。所以我们的方法编写起来很简单:

    拼接一个数组,里面存放id和index

    直接更新后commit即可。

    会有一定的延迟,因为是真正去更新数据库了

    之前的演示图是没去实际更新数据库的。

    编写更新和删除数据构造器的方法

    可以看到更新和删除其实都是update的操作,因为咱们是软删除,所以其实就是把constructor的deleted_at改成了当前时间。

    接着编写删除和更新的接口

    前端进行适配

    点击编辑按钮,可以弹出对应的数据构造器

    给个友好的提示,以免误删

    好了,今天的内容就说到这里了。其实最花时间的还是在前端的交互上面,但大体上数据构造器算是可用了。

    下一节我们讲讲软删除之殇~

  • 相关阅读:
    查找网页元素对应的js代码
    29 图片缩小案例
    29 三级缓存案例
    [Angular2]eclipse中angular2开发环境的搭建
    28 自定义View流式布局
    28 自定义滑动开关
    28 自定义View侧滑栏
    28自定义View 模仿联系人字母侧栏
    28 自定义View画坐标和柱状图
    JFinal中使用QuartzPlugin报ClassCastException解决方法
  • 原文地址:https://www.cnblogs.com/we8fans/p/15291012.html
Copyright © 2020-2023  润新知