端到端测试?何必Postman,试试Automan

如果使用 Postman 编写端到端测试用例,甚至实现了自动化测试平台,你是否和我一样正在经历这样的痛楚:

  1. 每个测试用例都要花费大量的时间去构造请求、编写脚本检查回包数据;
  2. 开发一段时间后,每个请求的脚本代码变得庞大、杂乱;
  3. 为了实现自动化测试,还要开发脚本代码使用 newman 去运行 Postman 集合。

Yes,我们需要一个新的测试工具,有请 Automan!

Automan 旨在帮助我们快速完成API测试编写,怎么做到又快又简单?

首先,服务端生成 API Schema

我们以 Spring Boot 框架为例,我们编写了一个 Java 库,通过 Spring Boot 提供的机制扫描服务上下文提供的所有接口,并提取参数、路径信息生成 API Schema:

json 复制代码
{
  "internal": {
    "v1": {
      "syncDomainModel": {
        "syncProduct": {
          "paths": [
            "/internal/v1/sync/{referenceId}"
          ],
          "methods": [
            "POST"
          ],
          "requestParams": {
            "referenceId": "string"
          },
          "requestType": "SyncDomainRequest",
          "responseType": "SyncDomainResponse",
          "allTypes": {
            "SyncDomainResponse": {
              "extension": "Map<string,?>",
              "mainModelName": "string",
              "extensionModelName": "string",
              "main": "Map<string,?>"
            },
            SyncDomainRequest": {
              "extensionFields": "TargetField[]",
              "mainFields": "TargetField[]",
              "modelId": "string",
              "extensionModelName": "string",
              "modelType": "string"
            },
            "TargetField": {
              "newValue": "?",
              "name": "string"
            }
          }
        }
      }
    }
  }
}

API Schema 包含了接口的请求方法、路径、参数以及负载。尤其要指出其中涉及的数据都有类型定义,Automan 将使用这些类型定义生成动态表单,帮助我们快速构建请求负载。

以后我们会为更多的 Web 框架提供 Schema 生成库,当然这也仰仗你我开源社区的力量。如果您对这部分感兴趣可以跟踪这个仓库:Automan-Schema-Providers

构建请求

有了 API Schema 我们就可以快速构建请求。

1.选择接口

选择好接口,相关的路径、请求方法就被自动带过来了。

2.输入请求负载和期望回包数据

Automan 提供基于类型生成的动态输入框,我们能非常迅速地编写好请求负载和期望回包数据。

3.参数传递

很多场景中,一个测试用例包含多个请求,请求之间也有先后依赖和数据传递关系。在 Postman 里我们通过编写脚本代码来实现,而在 Automan 里,脚本代码不是第一选择。

4.回包数据校验

在 Postman 里也必须编写脚本去检查回包数据,Automan 重复一遍,不想要脚本!

面向自动化测试

Automan 在设计之初就在考虑如何实现自动化测试。目前我们提供了一个 npm package,允许我们通过命令行运行指定脚本,同理也可以很方便地在容器镜像中启动测试。

什么时候可以用到?

Automan 现在已经完成了核心需求开发,计划将在今年年底上线 Vscode 插件市场 ------ BETA 版本。因为是利用闲暇时间开发,还有较多细节、以及文档工作需要完成。如果您对这个项目有什么想法建议,欢迎来聊。

如果您想了解更多,Check Automan in PC.

相关推荐
测试老哥1 天前
Postman参数化详解
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·postman
王磊鑫2 天前
软件测试全攻略:Postman工具的使用
测试工具·postman
持续前进的奋斗鸭4 天前
Postman测试学习(1)
学习·postman
编程乐学(Arfan开发工程师)5 天前
42、响应处理-【源码分析】-浏览器与PostMan内容协商完全适配
java·spring boot·后端·测试工具·lua·postman
鱼鱼说测试6 天前
postman基础
测试工具·postman
程序员杰哥6 天前
Postman常见问题及解决方法
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·postman
天才测试猿6 天前
Postman接口测试之postman设置接口关联,实现参数化
自动化测试·软件测试·python·测试工具·职场和发展·接口测试·postman
代码续发8 天前
postman自动化测试
测试工具·postman
哆咪学计科9 天前
postman工具使用
测试工具·postman