首页 > 其他分享 >接口测试学习笔记一

接口测试学习笔记一

时间:2022-09-25 23:01:12浏览次数:48  
标签:HTTP 请求 URL 笔记 响应 接口 测试 客户端

接口测试理论

什么是接口

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

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

标签:HTTP,请求,URL,笔记,响应,接口,测试,客户端
From: https://www.cnblogs.com/pinkyfluffy/p/16729315.html

相关文章

  • 第四周学习笔记
    第7章文件操作——教材知识点归纳7.1文件操作级别(1)硬件级别:fdisk:讲盘进行分区mfks:格式化磁盘分区fsck:检查和维修系统2)操作系统内核中的文件系统函数:其中前缀k表示内......
  • 笔记本
    笔记本本隐私政策更新时间:2022年8月生效时间:2021年8月广州菁宏信息科技有限公司非常注重保护用户(“您”)的个人信息及隐私,我们深知个人信息对您的重要性,并将按照法律法规要......
  • vue项目真机测试
    手机端直接输网址进入设置package.json设置vue.config.js......
  • 《Unix/Linux系统编程》第四周学习笔记
    《Unix/Linux系统编程》第四周学习笔记文件操作(第7章)文件操作级别硬件级别:硬件级别的文件操作包括:`fdisk`:将硬件、U盘或SDC盘分区。`mkfs`:格式化磁盘分区,为系统做好......
  • 【Coel.学习笔记】特殊的图 - 仙人掌与圆方树
    你是什么仙人?引入仙人掌是一种特殊的无向图,它的任意一条边至多只出现在一条简单回路(每个点只出现一次的回路是简单回路,特殊地,自环不算简单回路)。这里借用一下[SHOI2006......
  • 《JavaScript高级程序设计》Chapter03学习笔记
    Chapter03JavaScriptLanguageSyntax类C区分大小写,标识符可以字母、下划线(_)、美元符号($)开头语句以分号(;)结尾:虽然不加分号也是被允许的,但会导致性能的降......
  • 第七、八章学习笔记
    第七章   文件操作第七章的主要内容是文件操作,主要包括以下几个方面:文件操作级别文件I/O操作低级别文件操作EXT2文件系统简介一、知识点归纳以及自己最有收获......
  • 第七、八章笔记
    ......
  • 【笔记】Oracle union all&for update锁
    【笔记】Oracleunionall&forupdateunionall在Oracle中有三种类型的集合操作UNION:求并,重复记录只显示一次UNIONALL:求并集,显示所有记录信息INTERSECT:求交集MINUS......
  • 《Unix/Linux系统编程》学习笔记4
    第七章文件操作一.知识点归纳(一)文件操作级别文件操作分为五个级别,按照从低到高的顺序排列如下:1.硬件级别:硬件级别的文件操作包括:fdisk:将硬盘、U盘或SDC盘分区。mk......