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

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

回顾


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

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

修改字体


1.jpg

image

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

编写用例后端部分


编写参数校验方法

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

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

app/utils/decorator.py

2.jpg

image

3.jpg

image

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


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


pip3 install jsonschema

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

编写新增用例的方法


  • 修改用例model

4.jpg

image

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

  • 新增insert方法

5.jpg

TestCaseDao.py

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

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

  • 添加接口
    编辑app/controllers/testcase/testcase.py

6.jpg

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

7.jpg

image

8.jpg

image


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

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



相关文章
|
21天前
|
安全 数据可视化 前端开发
【测试开发】用例篇 · 熟悉黑盒测试用例设计方法(2)· 正交表 · 场景设计 · 常见案例练习
【测试开发】用例篇 · 熟悉黑盒测试用例设计方法(2)· 正交表 · 场景设计 · 常见案例练习
38 0
|
14天前
|
NoSQL 安全 测试技术
接口测试用例设计的关键步骤与技巧解析
该文介绍了接口测试的设计和实施,包括测试流程、质量目标和用例设计方法。接口测试在需求分析后进行,关注功能、性能、安全等六项质量目标。流程包括网络监听(如TcpDump, WireShark)和代理工具(Charles, BurpSuite, mitmproxy, Fiddler, AnyProxy)。设计用例时,需考虑基本功能流程、输入域测试(如边界值、特殊字符、参数类型、组合参数、幂等性)、线程安全(并发和分布式测试)以及故障注入。接口测试用例要素包括模块、标题、优先级、前置条件、请求方法等。文章强调了保证接口的幂等性和系统健壮性的测试重要性。
45 5
|
14天前
|
小程序 安全 测试技术
【软件测试】用例篇 -- 详解(下)
【软件测试】用例篇 -- 详解(下)
|
13天前
|
算法 安全 测试技术
【软件测试】用例篇 -- 详解(上)
【软件测试】用例篇 -- 详解(上)
|
21天前
|
人工智能 测试技术 数据处理
【测试开发】用例篇 · 熟悉黑盒测试用例设计方法(1)等价类划分法、边界值法、判定表法
【测试开发】用例篇 · 熟悉黑盒测试用例设计方法(1)等价类划分法、边界值法、判定表法
14 0
|
21天前
|
测试技术 iOS开发
pytest Mark标记测试用例
使用`pytest.mark`进行测试用例分组和筛选,如`@pytest.mark.webtest`。通过`pytest -m`参数执行特定标记的用例,例如`pytest -s test_command_param.py -m webtest`。同时,pytest支持内置的skip、skipif和xfail功能来管理特殊用例:skip始终跳过,skipif条件满足时跳过,xfail则标记预期失败的测试。
8 0
|
21天前
|
数据挖掘 测试技术 网络安全
LabVIEW开发卫星测试平台
LabVIEW开发卫星测试平台
19 3
|
21天前
|
算法 物联网 5G
LabVIEW开发最小化5G系统测试平台
LabVIEW开发最小化5G系统测试平台
22 0
|
21天前
|
消息中间件 测试技术 Linux
linux实时操作系统xenomai x86平台基准测试(benchmark)
本文是关于Xenomai实时操作系统的基准测试,旨在评估其在低端x86平台上的性能。测试模仿了VxWorks的方法,关注CPU结构、指令集等因素对系统服务耗时的影响。测试项目包括信号量、互斥量、消息队列、任务切换等,通过比较操作前后的时戳来测量耗时,并排除中断和上下文切换的干扰。测试结果显示了各项操作的最小、平均和最大耗时,为程序优化提供参考。注意,所有数据基于特定硬件环境,测试用例使用Alchemy API编写。
78 0
linux实时操作系统xenomai x86平台基准测试(benchmark)
|
21天前
|
传感器 Linux 测试技术
xenomai 在X86平台下中断响应时间测试
该文讨论了实时操作系统中断响应时间的重要性,并介绍了x86中断机制和Xenomai的中断管理,包括硬件中断和虚拟中断的处理。Xenomai通过I-Pipe确保实时性,中断优先级高的Xenomai先处理中断。文中还提到了中断响应时间的测试设计,分别针对I-Pipe内核间虚拟中断和硬件中断进行了测试,并给出了在不同负载下的测试结果。
19 0
xenomai 在X86平台下中断响应时间测试