美文网首页
测试平台系列(26) 编写用例详情页(1)

测试平台系列(26) 编写用例详情页(1)

作者: 米洛丶 | 来源:发表于2021-04-19 10:58 被阅读0次

回顾

上一节我们已经编写了用例树的雏形,但是具体的用例页面还没有去编写,加上笔者停更了几天,所以进度就更缓慢了。

不过我们在此之前,我们先改一下antd pro的全局配置,那就是: 字体。

修改字体

image

在对应的目录下,新增这样一个参数: font-size-base,因为12px会显得太小,而14px而会显得文字比较大,虽然不符合设计逻辑(偶数像素),但是感觉13px效果也挺不错。

编写用例后端部分

编写参数校验方法

在此之前呢,我们需要先新增一个装饰器,用来校验参数,这边不打算采用pydantic,打算用jsonschema了,虽然感觉前者更好,但是我只是这个接口想用了,说白了,就是玩儿!

为什么我们需要这个方法呢,因为我们对于一个TestCase对象来说,对每个参数进行校验,实在是太麻烦了,所以这里我受不了了。

app/utils/decorator.py

image image

这个方法呢,先获取json数据,如果没获取到则直接抛出异常,否则调用jsonschema库的validate方法,也就是校验参数。

不过这个方法有一个弊端就是,只能校验json数据,说的很对!如果有url参数怎么办,那是不支持的,算了后续再说吧,毕竟我现在主要要解决的不是这个。

pip3 install jsonschema

别忘了安装这个新库哦,如果是新玩家,直接按照requirements.txt安装即可。

编写新增用例的方法

  • 修改用例model
image

因为之前新增了目录优先级2个字段,所以需要在init方法中加入这2个字段。

  • 新增insert方法
TestCaseDao.py

如果项目id和名字都一样,则认为这个用例已存在,不允许用户继续添加。

这边对于权限限制的不是很死,没有再校验用户是否能够为项目添加用例

  • 添加接口

    编辑app/controllers/testcase/testcase.py

image

注意这里我们引入了json_validate装饰器,是用来校验咱们的json参数的。

  • testcase数据
testcase = {
    "type": "object",
    "properties": {
        "id": {
            "type": "integer",
        },
        "name": {
            "type": "string",
        },
        "request_type": {
            "type": "integer",
        },
        "url": {
            "type": "string",
        },
        "request_method": {
            "type": "string",
        },
        "request_header": {
            "type": "string",
        },
        "params": {
            "type": "string",
        },
        "body": {
            "type": "string",
        },
        "project_id": {
            "type": "integer",
        },
        "tag": {
            "type": "string",
        },
        "status": {
            "type": "integer",
        },
        "priority": {
            "type": "string",
        },
        "catalogue": {
            "type": "string",
        },
        "expected": {
            "type": "string",
        },
    },
    "required": ["expected", "catalogue", "priority", "status", "project_id", "request_type", "url", "name"]
}

其实json_schema就是一个描述json数据结构的一串json,也许这个很绕口,但是看图中可以看出:

  • type

    type是json串的类型,object代表的是一个对象,其实JSON为什么叫JSON,因为她的全名是: JavaScript Object Notation,简单的说她就是来描述JSON对象的。除此之外,还有integer, string等等。

  • properities

    就是这个对象里面的属性,即字段。

  • required

    一个数组,存放数组必须的字段。

测试一下

  • 去掉一个必须字段catalogue
image image

json schema还有控制数字范围等校验,这里我就不多讲了,大家有兴趣可以自行查阅。

今天内容不多,多了怕消化不良。改天可能研究一下httprunner,毕竟这个也是业界主流项目,合适的话就给兼容了吧,这样平台受众面也会比较大。

相关文章

  • 测试平台系列(26) 编写用例详情页(1)

    回顾 上一节我们已经编写了用例树的雏形,但是具体的用例页面还没有去编写,加上笔者停更了几天,所以进度就更缓慢了。 ...

  • 测试平台系列(28) 编写用例详情页(3)

    回顾 上一节我们编写了添加用例的表单,并且成功添加了一些用例,但是我们在Tree里面点击对应的用例,右侧Card还...

  • 测试平台系列(27) 编写用例详情页(2)

    回顾 上一节我们编写好了添加用例的接口,并且采用了jsonschema进行参数校验,当然不是很好的方式,起码解决了...

  • 测试平台系列(25) 编写用例树

    回顾 上一节我们我们主要针对用户的角色进行添加和修改功能,还剩下查询和删除,这个笔者已经用代码实现了。就不讲解思路...

  • 测试平台系列(29) 编写用例执行的方法

    回顾 上期编写了用例详情页,这期我们快刀斩乱麻,来编写用例执行功能。 编写执行用例的方法 由于之前我们已经编写过了...

  • 软件测试常见问题

    1、软件测试流程是什么? ①需求分析,需求评审②编写测试计划③编写测试用例,用例评审④执行测试,提交bug,回归测...

  • App测试要点总结

    App测试要点总结: 1、UI测试 2、功能测试根据产品需求文档编写测试用例。软件设计文档编写用例。注意:就是根据...

  • 测试平台系列(61) 重构用例详情页面

    大家好~我是米洛!这是一个完整的接口测试平台系列教程,希望能和大家一起学习,从0到1打造一个开源平台。欢迎关注我的...

  • 手机APP测试点总结

    一.功能性测试: (1)根据产品需求文档编写测试用例 (2)软件设计文档编写用例 二.兼容性适配性测试: (1)A...

  • APP功能测试点总结(转载)

    1.功能性测试: ——根据产品需求文档编写测试用例。 ——软件设计文档编写用例。 注意:就是根据产品需求文档编写测...

网友评论

      本文标题:测试平台系列(26) 编写用例详情页(1)

      本文链接:https://www.haomeiwen.com/subject/gtkilltx.html