pinkyfluffy

导航

统计

接口测试学习笔记一

接口测试理论

什么是接口

接口:是指系统或组件之间的交互点,通过这些交互点可以实现数据的交互(数据交互的通道

image

接口的类型

接口分为系统之间的接口和程序内部的接口

  • 系统之间的接口:多个内部系统之间的交互,内部系统与外部系统之间的交互
  • 程序内部的接口:方法与方法之间,模块与模块之间的交互

image

接口测试的特点

  1. 测试可以提前介入,修改bug成本低,符合质量前移的理念
  2. 可以发现一些页面发现不了的问题
  3. 低成本、高收益
  4. 接口测试不同于单元测试,是站在用户的角度针对整体业务进行测试

接口测试原理

  1. 模拟客户端建立连接
  2. 客户端发送请求
  3. 服务器处理请求并响应
  4. 验证响应数据是否符合预期

接口测试实现方式

  • 通过工具来实现
    • Postman
    • JMeter
  • 通过代码来实现
    • Python+Requests

HTTP协议

什么是HTTP协议

超文本传输协议(Hyper Text Transfer Protocol),说人话就是客户端和服务器遵守的一种标准(协议)

HTTP协议的特点

  1. 基于客户端与服务器模式
  2. 简单快速
  3. 灵活(涉及多种请求方式,如Get、Post、Put、Delete)
  4. 无连接(第一次登录后,第二次访问URL依然需要登录)
  5. 无状态

URL

什么是URL

统一资源定位符(Uniform Resource Locator),是互联网上标准资源的地址。HTTP使用URL来建立连接和传输数据。

URL的格式

http://www.itcast.cn:8080/news/index.html?uid=123&page=1
  • 协议部分:”HTTP”,常见有HTTP、HTTPS、FTP、SMTP/POP3/IMAP等
  • 域名部分:“www.itcast.cn”,也可以使用IP地址作为域名使用
  • 端口部分:“8080”,默认的端口号可以省略,默认端口(HTTP:80,HTTPS:443,FTP:21)
  • 资源路径部分:”/news/index.html” ?号前面的内容才是你真正的服务器的资源路径/接口地址
  • 查询参数部分:“uid=123&page=1”,问号后面的内容,即参数(可以允许有多个参数),多个参数之间用&作为分隔符,参数部分的内容是不会被服务器解析的。如何进行交互是使用参数里面的数据
    • ? 隔离URL主体与参数部分内容
    • & 存在多个参数时,使用&进行拼接

HTTP请求

HTTP请求由三部分组成:请求行、请求头、请求体

image

请求头

请求头由键值对组成,每行一对。请求头部通知服务器有关客户端请求的信息

典型的请求头有:

  • User-Agent:产生请求的浏览器类型
  • Accept:客户端可识别的内容类型列表
  • Content-Type:请求体数据的类型,常见的类型有:
    • text/html:HTML格式
    • text/plain:纯文本格式
    • image/jpeg:jpg图片格式
    • application/json:JSON数据格式
    • application/x-www-form-urlencoded:form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据格式)
    • multipart/form-data:在表单中进行文件上传时使用

请求体

GET请求是没有请求体的,一般请求体在Post和Put请求方式中使用

请求体数据可以是:表单数据、文本、XML、JSON

HTTP响应

HTTP响应也有三部分组成,分别是:状态/响应行、响应头、响应体

image

状态/响应行

状态行由协议版本号状态码状态消息组成

状态码
image

响应头

内容以键值对形式存在,用于描述服务器相关信息

响应体

响应数据:JSON、XML、HTML等

RESTful接口风格

  1. 每一个URL代表一种资源
  2. 客户端通过四个HTTP动词,对服务器端资源进行操作,实现“表现层状态转化”
  3. 接口之间传递的数据最常用格式为JSON

image

  • 规范风格:只是一种规范、不是标准或规定
  • 示例:
    • URL:协议://域名:端口号/资源路径/{资源集合}/

      资源集合 = 表名

    • 请求方法:POST/GET/PUT/DELETE

    • 状态码:200/201/204

接口文档的解析

image

登录接口解析的结果↓

image
image

添加员工接口

面对请求体参数很多时,可以采用以下方式:

  1. 优先从API文档找示例
  2. 找开发提供一个样例数据
  3. 项目后期(已完成页面功能时),可以通过抓包工具来获取一条样例数据

image

JSON中套JSON

image

posted on   pinkyfluffy  阅读(56)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示