当前位置: 首页 > article >正文

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

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

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

Yes,我们需要一个新的测试工具,有请 Automan!
在这里插入图片描述
Automan 旨在帮助我们快速完成API测试编写,怎么做到又快又简单?

首先,服务端生成 API Schema

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

{
  "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(网站还没有移动端兼容🤣大家可以PC端看看)。


http://www.kler.cn/news/368521.html

相关文章:

  • 【Linux网络】Linux网络基础入门:初识网络,理解网络协议
  • Golang Agent 可观测性的全面升级与新特性介绍
  • STM32之外部中断(实验对射式传感器计次实验)
  • 【STM32】单片机ADC原理详解及应用编程
  • MySQL-32.索引-操作语法
  • Oracle CONNECT BY、PRIOR和START WITH关键字详解
  • netty之ServerBootstrap和Bootstrap
  • 优先算法:双指针、移动零
  • 程序员修仙传
  • Git详解
  • 使用教程:基于 uiautomator2 和 pytest 的图片相似度测试脚本
  • BERT 的 12 层维度变化详解:从输入到输出的逐步剖析
  • Kafka消费者故障,出现活锁问题如何解决?
  • UE材质节点arctangent2解析
  • 重学SpringBoot3-Spring WebFlux之Reactor事件感知 API
  • 机器视觉:9点标定的原理与实现
  • [专有网络VPC]ECS安全组配置案例
  • 【Python知识】一个强大的数据分析库Pandas
  • 基于Python的B站视频数据分析与可视化
  • Spring Boot框架下租房管理系统的设计与实现
  • spring-ai-alibaba下载
  • 【认知智能】编译器1
  • DataX
  • Oracle 权限相关的概念
  • Chromium HTML5 新的 Input 类型email对应c++
  • pikachu靶场-Cross-Site Scripting(XSS)