端到端测试?何必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.

相关推荐
程序员雷叔2 天前
python这10个接口自动化的装饰器
python·功能测试·测试工具·单元测试·自动化·测试用例·postman
MJH8272 天前
2024Selenium自动化常见问题!
自动化测试·软件测试·经验分享·面试·职场和发展·postman·测试工程师
菁英猎人-芝芝4 天前
如何使用postman进行自动化
测试工具·自动化·postman
阿华的代码王国5 天前
【网路原理】——HTTP状态码和Postman使用
网络·网络协议·http·postman·状态码
测试杂货铺6 天前
Postman常见问题及解决方(全)
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·postman
qq_433716957 天前
一文2500字从0到1实现压测自动化!
自动化测试·软件测试·redis·ci/cd·单元测试·appium·postman
城下秋草8 天前
Postman使用-基础篇
测试工具·postman
钱钱钱端9 天前
UI自动化测试 —— web端元素获取&元素等待实践!
自动化测试·功能测试·测试工具·jmeter·ui·单元测试·postman
MJH8279 天前
如何使用Postman搞定带有token认证的接口实战!
自动化测试·软件测试·selenium·测试工具·职场和发展·接口测试·postman