Skip to content

接口自动化测试框架介绍

接口自动化测试框架介绍

简介

接口自动化测试框架是一种用于自动化执行和验证应用程序编程接口(API)的软件工具集合。这些框架旨在提高测试效率、降低测试成本,并确保应用程序的接口在不同条件下的稳定性和一致性。

接口自动化测试的价值与应用场景

接口测试场景

uml diagram

接口自动化测试场景

uml diagram

接口自动化测试与 Web/App 自动化测试对比

Web 自动化测试 接口自动化测试
成本 ⭐️⭐️⭐️ ⭐️
测试效率 ⭐️⭐️ ⭐️⭐️⭐️⭐️⭐️
用例编写效率 ⭐️⭐️ ⭐️⭐️⭐️⭐️⭐️
稳定性 ⭐️⭐️⭐️ ⭐️⭐️⭐️⭐️⭐️
自动化回归测试效率 ⭐️⭐️⭐️ ⭐️⭐️⭐️⭐️⭐️
测试覆盖度 ⭐️⭐️ ⭐️⭐️⭐️⭐️⭐️
自动生成用例成本 ⭐️⭐️⭐️⭐️⭐️ ⭐️⭐️

看起来接口自动化测试什么都比 Web/App 自动化测试要好,为什么还要做 Web/App 自动化测试?

因为接口关注数据无法触达用户体验。

接口测试工具类型

测试类型 工具 价值
接口抓包 Charles、Postman 接口抓包工具,可以抓取 App 的数据包
接口测试 Postman 接口调试工具,接口手工测试工具,学习成本低,直接安装即可使用
接口自动化测试 Python(Requests)、Java(RestAssured) 用于接口自动化测试的 Java、Python 第三方库,需要与对应编程语言结合使用
性能测试 JMeter 性能测试工具

接口自动化测试在企业中的实践

接口测试的市场需求

接口自动化测试框架介绍(Python)

为什么推荐 Requests

  • 是由 Python 实现的 API 测试框架。
  • 支持发起 POST, GET, PUT, DELETE 等请求。
  • 可以用来验证和校对响应信息。

官网地址: https://requests.readthedocs.io/en/latest/

Requests 优势

  • 功能全面:HTTP/HTTPS 支持全面。
  • 使用简单:简单易用,不用关心底层细节。
  • 定制性高:结合测试框架完成二次封装,比如 HttpRunner。

Requests 环境准备

  • 安装命令:pip install requests

接口自动化测试框架介绍(Java)

为什么推荐 REST-assured

  • 是由 Java 实现的 REST API 测试框架。
  • 支持发起 POST, GET, PUT, DELETE 等请求。
  • 可以用来验证和校对响应信息。

官网地址: http://rest-assured.io/

REST-assured 优势

  • 支持多种数据格式:支持 xml/json 的结构化解析。
  • 内置断言库:支持 xpath/jsonpath/gpath 解析方式。
  • 可与多种测试框架集成:支持与 JUnit、TestNG 等测试框架集成。

REST-assured 环境准备

  • 创建 maven 项目。
    • 打开idea创建maven项目,选择相关配置点击next;
    • 输入项目名称,点击next;
    • 选择自己安装的maven信息,点击完成即可,idea会自动下载相关maven依赖包;
  • 基于 JDK 11、JUnit5。
  • 在项目的pom.xml 添加 rest-assured 的依赖。
    • 根据自己下载的rest版本进行编写版本号
      <!-- rest-assured 相关依赖 -->
      <properties>
          <rest-assured.version>5.3.0</rest-assured.version>
      </properties>
      <dependency>
          <groupId>io.rest-assured</groupId>
          <artifactId>rest-assured</artifactId>
          <version>${rest-assured.version}</version>
      </dependency>