API 接口自动化测试的基本原理及实战教程

news2024/12/25 9:08:59

目录

常用API接口协议介绍

Http协议接口请求的介绍

HTTPS协议

SMTP协议

SNMP协议

FTP协议

API 接口自动化测试的基本原理


常用API接口协议介绍

HTTP协议 

超文本传输协议

它是用来在Internet上传送超文本的传送协议,运行在TCP/IP协议族之上,它可以使浏览器更加高效,使网络传输减少。

任何服务器除了包括HTML文件以外,还有一个HTTP驻留程序,用于响应用用户请求。

浏览器是HTTP客户,向服务器发送请求,当浏览器中输入了一个开始文件或点击了一个超级链接时,浏览器就向服务器发送了HTTP请求,此请求被送往由IP地址指定的URL。驻留程序接收到请求,在进行必要的操作后回送所要求的文件。

     API接口测试视频教程:1节课搞懂API接口自动化测试前后端交互请求原理_哔哩哔哩_bilibiliicon-default.png?t=N3I4https://www.bilibili.com/video/BV1Ck4y1772B/?spm_id_from=333.999.0.0

         

 

Http协议接口请求的介绍

一个http请求报文由请求行(request line)、消息头部(header)、空行、请求正文四部分组成;

1、请求行

请求行由请求方法字段、URL字段和HTTP协议版本字段,组成,它们用空格分隔,例如:GET /index.html  HTTP/1.1

HTTP协议的请求方法有GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT。这里介绍最常用的GET和POST方法;

GET:当client要从server中读取文档时,使用GET方法。GET方法要求服务器将URL定位的资源放在响应报文的数据部分,回送给client。使用GET方法时,请求参数和对应的值附加在URL后面,利用一个问号(“?”)代表URL的结尾与请求参数的开始,传递参数长度受限制,例如:  /index.jsp?id=100&op=bind

POST:当client给服务器提供信息较多时, 使用POST方法。POST方法将请求参数封装在HTTP请求数据中,以key/value的形式出现,可以传递大量数据,可用来传递文件。

2、消息头部

请求头部由key/value键值对组成,每行一对,key和value用冒号":"分隔,请求头部通知服务器有关于client端的请求信息,典型的请求头:

User-Agent:产生请求的浏览器类型

Accept:client端可识别的内容类型列表

Host:请求的主机名,允许多个域名同处一个ip地址,即虚拟主机    

3、空行

最后一个请求头之后是一个空行,发送回车符和换行符,通知服务器请求头结束。对于一个完整的http请求来说空行是必须的,否则服务器会任务本次请求的数据尚未完全发送到server,处于等待状态

4、请求正文

请求数据不在GET方法中使用,而是在POST中使用。POST方法适用于需要client填写表单的场合,与请求数据相关的最常用的请求头是Content-Type 和Content-Length

Http协议接口返回状态代码介绍

常见状态代码、状态描述、说明 :

200 OK      //客户端请求成功 

400 Bad Request  //客户端请求有语法错误,不能被服务器所理解 

401 Unauthorized //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用  

403 Forbidden  //服务器收到请求,但是拒绝提供服务 

404 Not Found  //请求资源不存在,eg:输入了错误的URL 

500 Internal Server Error //服务器发生不可预期的错误 

503 Server Unavailable  //服务器当前不能处理客户端的请求,一段时间后,可能恢复正常

Http协议接口实体报头介绍

请求和响应消息都可以传送一个实体。一个实体由实体报头域和实体正文组成,但并不是说实体报头域和实体正文要在一起发送,可以只发送实体报头域。实体报头定义了关于实体正文(eg:有无实体正文)和请求所标识的资源的元信息。 

Content-Type实体报头域用语指明发送给接收者的实体正文的媒体类型

如:Content-Type:text/html;charset=ISO-8859-1 ,

Content-Type:application/json; 

Content-Type:application/soap+xml; 

Content-Type:application/x-www-form-urlencoded

HTTPS协议

超文本传输安全协议

它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网络上传送回的结果。

HTTPS实际上应用了Netscape的完全套接字层(SSL)作为HTTP应用层的子层。(HTTPS使用端口443,而不是象HTTP那样使用端口80来和TCP/IP进行通信。)SSL使用40 位关键字作为RC4流加密算法,这对于商业信息的加密是合适的。HTTPS和SSL支持使用X.509数字认证,如果需要的话用户可以确认发送者是谁。

SOAP协议

简单对象访问协议

它是交换数据的一种协议规范,是一种轻量的、简单的、基于XML(标准通用标记语言下的一个子集)的协议,它被设计成在WEB上交换结构化的和固化的信息,SOAP使用基于XML的数据结构和超文本传输协议(HTTP)的组合定义了一个标准的方法来使用Internet上各种不同操作环境中的分布式对象。

1节课搞懂API接口自动化测试前后端交互请求原理_哔哩哔哩_bilibiliicon-default.png?t=N3I4https://www.bilibili.com/video/BV1Ck4y1772B/?spm_id_from=333.999.0.0

SMTP协议

简单邮件传送协议

它是由源地址到目的地址传送邮件的一组规则,用来控制信件中转方式的一种协议。

SMTP使用的TCP端口号是25,接收端在TCP的25号端口等待发送端来的E-mail,发送端向接收方(即服务器)发出连接要求,一旦连接成功,即进行邮件信息交换,邮件传递结束后释放连接。

SNMP协议

简单网络管理协议

它是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议。

SNMP,由一组网络管理的标准组成,包含一个应用层协议(application layer protocol)、数据库模型(database schema)和一组资源对象。该协议能够支持网络管理系统,用以监测连接到网络上的设备是否有任何引起管理上关注的情况。

FTP协议

文件传输协议

它是一个标准协议,是在计算机和网络之间交换文件的最简单的方法,像传送可显示文件的HTTP和电子邮件的SMTP一样,FTP也是应用TCP/IP协议的应用协议标准。

FTP通常用于将网页从创作者上传到服务器上供人使用,而从服务器上下传文件也是一种非常普遍的使用方式。作为用户,您可以用非常简单的DOS界面来使用FTP,也可以使用由第三方提供的图形界面的FTP来更新(删除,重命名,移动和复制)服务器上的文件。

API 接口自动化测试的基本原理

基于HTTP协议的自动化测试基本原理

1.模拟请求url和报文,准备测试数据

2.模拟客户端发送HTTP请求

3.模拟客户端从服务器接收返回报文

4.验证返回结果是否符合预期

1节课搞懂API接口自动化测试前后端交互请求原理_哔哩哔哩_bilibiliicon-default.png?t=N3I4https://www.bilibili.com/video/BV1Ck4y1772B/?spm_id_from=333.999.0.0

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/483442.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Docker file镜像

目录 一、Docker镜像的创建 1、基于现有镜像创建 2、基于本地模版创建 3、基于Dockerfile创建 1、联合文件系统(UnionFS) ​编辑2、镜像加载原理 3、Dockerfile 4、Docker 镜像结构的分层 二、Dockerfile 操作常用的指令 (1&#xf…

把树莓派改造成NAT软路由器

本文目录 1、查看网卡情况2、配置静态ip3、配置IP转发和SNAT功能3.1、开启Linux的报文转发功能 3.2、开启SNAT功能4、进阶配置4.1、如果WAN口(上行接口)eth0是动态分配的IP地址4.2、在LAN口上,给下游主机开启自动分配IP地址功能4.3、永久保存iptables, SNAT配置&…

Redis学习笔记02(主从同步,哨兵,哨兵集群)

数据同步:主从数据库如何保障数据一致性 redis具有高可靠性:1.数据尽量减少丢失(AOF和RDB来保障) 2.服务尽量减少中断.第二点通过增加冗余副本来保障。 读写分离: 减少保障数据一致性的开销。修改操作只会在主库上进…

《花雕学AI》解锁ChatGPT潜力!183个最佳提示语,助您充分利用人工智能技术

随着机器学习和自然语言处理技术的不断进步,人工智能在各个领域的应用越来越广泛。ChatGPT(Generative Pre-trained Transformer)是一个强大的自然语言生成模型,它可以帮助我们生成高质量的文本内容。本文为你列举了 183 种可能的…

【51单片机】DS1302时钟模块

🎊专栏【51单片机】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【Waiting For Love】 大一同学小吉,欢迎并且感谢大家指出我的问题🥰 目录 🍔效果 🍔代码 main.…

Stable Diffusion 本地部署教程不完全指南

ChatGPT免费体验入口网址 http://chat.xutongbao.top 参考链接: ERROR: Could not find a version that satisfies the requirement torch1.7.0 ERROR: No matching……_congcongiii的博客-CSDN博客 下载链接: https://download.pytorch.org/whl/cu11…

VMware下centos7开机登陆页面死循环问题解决

文章目录 VMware下centos7开机登陆页面死循环问题详细解决解决 VMware下centos7开机登陆页面死循环问题详细解决 脚本中有reboot重启命令 并且给该脚本加上了开机自启动 因为在脚本中没有给重启做判断,运行脚本后就会一直重启 解决 在VMware下centos7开机页面按e键…

【Linux】如何实现单机版QQ,来看进程间通信之管道

学会了管道,就可以实现简单的qq哦~ 文章目录 前言一、匿名管道总结 前言 为什么要进行进程间通信呢?因为需要以下这些事: 数据传输:一个进程需要将它的数据发送给另一个进程 资源共享:多个进程之间共享同样的资源。 …

【五一创作】Linux---I2C应用编程

目录简述 前言: 一、I2C协议 (1)概述 (2)I2C硬件框架: (3)I2C软件框架 (4)I2C数据格式 二、SMBus协议 三、I2C系统重要的结构体 四、访问I2C设备&am…

欧姆龙NX/NJ系列PLC对接Oracle数据库,实现PLC与数据库双向数据通讯

智能网关IGT-DSER方便实现PLC与数据库之间的数据通讯,既可以读取PLC的数据上报到数据库,也可以从数据库查询数据后写入到PLC的寄存器。 网关安装在设备侧,与设备同时起停,不担心数据丢失;在断网、服务器维护上报数据有…

ID3算法报告理解笔记

专有名词解释: 决策树:决策树是根据已知若干条件,来对事件做出判断。从根节点到叶子结点。自上而下生成,每个决策或事件都可能引发两个或多个事件。将这些事件根据不同的特征进行划分,最后将类别分出,得到…

【Java校招面试】基础知识(四)——JVM

目录 前言一、基础概念二、反射三、类加载器ClassLoader四、JVM内存模型后记 前言 本篇主要介绍Java虚拟机——JVM的相关内容。 “基础知识”是本专栏的第一个部分,本篇博文是第四篇博文,如有需要,可: 点击这里,返回…

java 泛型知识整理

Java泛型这个特性是从JDK 1.5才开始加入的,因此为了兼容之前的版本,Java泛型的实现采取了“伪泛型”的策略,即Java在语法上支持泛型,但是在编译阶段会进行所谓的“类型擦除”(Type Erasure),将所…

【网络协议详解】——GNS3的使用(学习笔记)

📖 前言:在IT领域,网络协议的理解和掌握是至关重要的。GNS3和Wireshark是非常实用的工具,它们可以帮助你深入了解TCP/IP协议和网络的运作情况。 目录 🕒 1. 网络协议分析工具——GNS3🕘 1.1 快速上手&#…

磁盘和固态磁盘

磁盘和固态磁盘 磁盘的物理结构 ​ 磁盘的表面由一些磁性的物质组成,可以用这些磁性物质来记录二进制数据。磁盘的盘面被划分成一个个磁道,这样一个“圈”就是一个磁道。同一磁盘上不同磁道上记录的信息量相同,因此内侧磁道上的数据密度较大…

嵌入式C语言自我修养笔记1-ARM体系结构与编译运行

目录 ARM 体系结构ARM 体系结构ARM 汇编指令ARM 寻址方式ARM 伪指令C 与汇编混合编程 程序编译链接与安装运行预处理过程编译过程链接过程程序安装apt-get链接静态库动态链接共享库插件工作原理Linux 内核模块运行机制Linux 内核编译与启动分析 ARM 体系结构 ARM 体系结构 AR…

计算机基础书籍

一操作系统 二常见问题总结 1.操作系统的特征? 并发、共享、虚拟、异步性 2.进程阻塞与唤醒的条件 等待 I/O 操作完成请求系统资源失败等待信号量或事件等待子进程结束被高优先级进程抢占 3.如何避免死锁? 1、避免资源竞争 2、破坏循环等待条件 3、优…

【云原生网关】Kong 使用详解

目录 一、前言 二、Kong介绍 三、Kong核心组件 3.1 kong组件介绍 3.1.1 Kong Server 3.1.2 Apache Cassandra/PostgreSQL 3.1.3 Kong dashboard 3.2 传统网关与Kong工作模式对比 四、Kong网关特征与架构 4.1 kong网关特征 4.1.1 可扩展性 4.1.2 模块化 4.1.3 在任…

vue+element仿原神实现好看的个人中心

目录 一、仿原神效果图 二、代码实现 1.项目截图 2.路由配置 完整源码 3.个人中心index源码 4.用户信息页面源码 5.我的合集源码 三、总结 一、仿原神效果图 2011年,24岁的上海交通大学研究生刘伟、蔡浩宇、罗宇皓三人拿到上海市科技创业中心大学生创业基金…

【力扣】根据二叉树的前序和中序遍历结果还原该二叉树(以及后序和中序还原)

一 前序和中序还原二叉树 连接:根据二叉树的前序和中序遍历结果还原该二叉树 思路是这样的: 这个算法的目的是根据前序遍历和中序遍历的结果,重建一棵二叉树。前序遍历的特点是,第一个元素一定是根节点,后面的元素…