WebAPI测试概念及postman初识
什么是接口? ------ 某个对象和外界交互的部分
消息交互接口:基于soap的web service ---- http协议
web api ------- http协议
diameter、radius ------ socket协议
编程接口:各种语言的开发包
其他接口:数据服务产品:sql语言操作接口
对账系统:FTP文件接口
web服务接口:互联网产品对外提供的服务接口,我们通常称之为web服务接口、web service接口、REST接口
我们经常说的'接口测试'、‘API测试’,就是对web服务接口的测试。 包括APP服务端接口。
主要包括两种类型:① 基于SOAP的web service接口
② REST接口
HTTP协议:超文本传输协议
就是浏览器与服务器之间进行‘沟通’的一种规范。
HTTP协议属于应用层的协议。
HTTP版本:在0.9 1.0 1.1(最广泛) 2
要想知道http协议,就要清楚它的请求和响应,当然还有请求方式、状态码、URL地址等。
http请求:一个完整的http请求,包含一个请求行,若干个请求头、空行、消息体
请求行:描述客户端的请求方法(如get、post等)、请求资源的名称、http协议的版本号
请求头:包含客户机请求的服务器主机名,客户机的环境信息等
(换行)
消息体:指浏览器端通过http协议发送给服务器的实体数据(有三种数据格式:json、xml、www-form-urlencoded)
HTTP请求方法最常用的有哪些:get 、post、head、put、delete
http响应:一个http响应代表服务器端向客户端回送的数据,它包括:一个状态行、若干个消息头、空行、以及实体内容(响应体)
响应头:包含 状态码、服务器类型、服务器的数据压缩格式、传送数据的编码格式等
状态行:如HTTP/1.1 200 OK (协议的版本号是1.1,响应状态码为200 响应结果为OK)
实体内容:包含浏览器能够解析的静态内容,例如 html、纯文本、图片等等信息
HTTP和HTML的区别?
HTTP是一种用来定义网页的文本语言 标记语言
HTTP是网络上传输信息的协议
接口测试的流程:- 阅读API接口文档
- 编写测试用例
- 根据测试用例进行API的手工测试
① 开发API工具
② 使用工具进行测试
------------------------------------------------------------------------------------------------------------------------------------------------------------
postman工具的使用:是最广泛的rest api测试工具。
postman提供了一个多窗口和多标签的界面。
侧边栏分为两个主要标签History和Collections。我们填过的请求都会自动的保存到history中;Collections可以把我们的API请求分类,实现目录式管理。
右边区域是我们操作的核心区域。用来填写API请求的具体内容:包括http请求的url、请求头、请求体,点击发送后,查看响应信息是什么都在这里。
构建http请求 ---- 包括URL、请求方法、请求头、消息体
URL的构建:协议类型 如http可以省略不写,如果是https,则需要写上。 如 www.baidu.com
有时候,url请求中是有参数的,如 https://baike.baidu.com/item/Selenium/18266?fr=aladdin 问号后面的部分fr=aladdin就叫做查询字符串
也可以有n多个参数,用符号&隔开 如?fr=aladdin&pagenum=1
请求头的构建:要在HTTP头部中添加字段,可在Headers标签中添加
添加好后,点击send,发送出去的http请求中就会携带这些添加的头部。
请求体的构建:最常见的就是post 、put请求,有时delete也有消息体
不是所有的http请求都是有消息体的,这是由系统的设计者决定的。
我们在body中添加参数,并指定是什么类型的消息体。换句话说就是将参数存放的位置从url移到了body
消息体的类型都是通过headers中的content-type参数来表明的。如 Content-Type:application/x-www-form-urlencoded
消息体类型除了application/x-www-form-urlencoded外,比较常见的还有application/json、application/xml,分别对应json格式的文本和xml格式的文本
还有multipart/form-data
json介绍:是一种编程语言对象的字符串表示法,是一种数据保存和传输的序列化格式。
在接口测试中,我们需要传递数据对象给另外的程序,比如一个字典的内容。那我们传输就必须要序列化,xml可以用程序进行序列化,但效率不高,最后json解决了这一麻烦。
json好处:易读、易编写、易解析、易生成。
如果数据格式是json或xml,这种情况下来构造消息体,需要选择类型为raw,并且在右边的text下拉框中选择相应的类型,并在body编辑框中输入相应格式的文本。
选择不同的类型,postman会自动添加对应的header
raw并不是一种http body的类型,而是postman用来表示 可直接填写消息内容的方法。
Collection和Folder:
在postman中,我们可以用Collection和Folder对API进行分类存放和管理。collection可以理解为顶级目录 像C盘一样;Folder可以理解为C盘下的一个个目录。
通常一个产品的API接口测试,我们可以创建一个Collection和其对应。根据各个API的功能,分成不同的Test Suite,对应到不同的Folder中。
导入和导出:
导入和导出最大的作用就是方便共享。比如 同事之间也要执行,就可以把这些文件导出给到他,他再导入,仍可以继续执行。import是导入 export是导出。
创建postman账户:
postman有比较高级的同步功能,只要有账户,不管在哪台机器登录,都可以使用该账户,获取其保存的API信息。
WebAPI测试概念及postman初识的更多相关文章
- CNA, FCoE, TOE, RDMA, iWARP, iSCSI等概念及 Chelsio T5 产品介绍 转载
CNA, FCoE, TOE, RDMA, iWARP, iSCSI等概念及 Chelsio T5 产品介绍 2016年09月01日 13:56:30 疯子19911109 阅读数:4823 标签: ...
- 原码,补码,反码的概念及Java中使用那种存储方式
原码,补码,反码的概念及Java中使用那种存储方式: 原码:原码表示法是机器数的一种简单的表示法.其符号位用0表示正号,用:表示负号,数值一般用二进制形式表示 补码:机器数的补码可由原码得到.如果机器 ...
- 转 RabbitMQ 基础概念及 Spring 的配置和使用 推荐好文 举例讲解
从不知道到了解—RabbitMQ 基础概念及 Spring 的配置和使用 原理同上 请求地址:http://localhost:8080/home?type=3&routing_key=myO ...
- 后端程序员之路 30、webapi测试工具的一点想法
有了webapi,对应的,也就要有各种语言的sdk,有时候,还要有一个好用的api测试工具.sdk和api测试工具在功能上有一些异同,有时候测试工具会直接基于sdk来制作. 它们通常包含: 1.htt ...
- 如何在ASP.NET Core Web API测试中使用Postman
使用Postman进行手动测试 如果您是开发人员,测试人员或管理人员,则在构建和使用应用程序时,有时了解各种API方法可能是一个挑战. 使用带有.NET Core的Postman为您的Web API生 ...
- API测试工具SoapUI & Postman对比分析
本文由葡萄城技术团队于博客园原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 最近公司要引入API测试工具,经过调查和了解,最终决定在SoapUI ...
- 测试那些事儿—postman进阶使用与实战
1.postman进阶使用 1)环境与变量: 备注:全局 和 局部 变量不会影响到变量的调用,区别在于局部变量对于非当前环境不能使用而已. a.当测试存在多个环境时,可以先设置一个环境,然后在此环境下 ...
- 测试那些事儿—postman入门介绍
1.postman入门介绍 一款功能强大的网页调试与发送网页HTTP请求的工具. 1)模拟各种HTTP请求,如get,post,put,delete 2)测试集合Collection Colle ...
- ASP.NET WebAPI 测试文档 (Swagger)
ASP.NET WebAPI使用Swagger生成测试文档 SwaggerUI是一个简单的Restful API测试和文档工具.简单.漂亮.易用(官方demo).通过读取JSON配置显示API .项目 ...
随机推荐
- RabbitMQ 的高可用集群
RabbitMQ 的高可用性 RabbitMQ 是比较有代表性的,因为是基于主从(非分布式)做高可用的 RabbitMQ 有三种模式:单机模式.普通集群模式.镜像集群模式. 单机模式 单机模式,生产几 ...
- PHP Laravel 6.2 中用于用户登录的新密码确认流程
Laravel 发布了 v6.2 版本,它添加了一个新的密码确认功能,该功能使你可以要求已登录的用户重新输入密码,然后才能访问路由. 在你执行敏感操作的时候,这个功能就类似GitHub确认对话框.在 ...
- Mssql 查询某记录前后N条
Sqlserver 查询指定记录前后N条,包括当前数据 条件 [ID] 查询 [N]条 select * from [Table] where ID in (select top ([N]+1) ID ...
- 前端与算法 leetcode 7. 整数反转
目录 # 前端与算法 leetcode 7. 整数反转 题目描述 概要 提示 解析 解法 算法 传入测试用例的运行结果 执行结果 GitHub仓库 # 前端与算法 leetcode 7. 整数反转 题 ...
- JVM浅谈
**前言** 由于先前也遇到过一些性能问题,OOM算是其中的一大类了.因此也对jvm产生了一些兴趣.自己对jvm略做了些研究.后续继续补充. **从oom引申出去** 既然说到oom,首先需要知道oo ...
- python2中的SSL:CERTIFICATE_VERIFY_FAILED错误的解决办法
在使用urllib2访问一个自签名的https链接时,对于python2.6以下版本,TLS握手期间是不会检查服务器X509的证书签名是否是CA的可信任根证书.不过python2.7以后改变了这种情况 ...
- 2011-11-14:命令执行漏洞防御,PHP反序列化漏洞产生原因,笔记
命令执行漏洞防御尽量不要使用系统执行命令在进入执行命令函数方法之前,变量一定要做好过滤,对敏感字符进行转义在使用动态函数之前,确保使用的函数是指定的函数之一对PHP语言来说,不能完全控制的危险函数最好 ...
- 【Luogu P1972】HH的项链
Luogu P1972 一开始非常naive随便打了个树状数组统计就交上去了,然后不出意料的爆零了-- 然后删一删改一改过了. 重点:对于区间[1,r]中重复出现的数,我们只需要关心最右边那一个是否在 ...
- Matlab生成Word--xdd
摘自<MATLAB统计分析与应用:40个案例分析>(谢中华老师著)P452页function CreatWord %利用Matlab生成word filespec_user = [pwd ...
- SQL SERVER中SELECT和SET赋值相同点与不同点
SELECT和SET在SQL SERVER中都可以用来对变量进行赋值,但其用法和效果在一些细节上有些不同. 1. 在对变量赋值方面,SET是ANSI标准的赋值方式,SELECT则不是.这也是SET方式 ...