什么是接口?   ------   某个对象和外界交互的部分

消息交互接口:基于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初识的更多相关文章

  1. CNA, FCoE, TOE, RDMA, iWARP, iSCSI等概念及 Chelsio T5 产品介绍 转载

    CNA, FCoE, TOE, RDMA, iWARP, iSCSI等概念及 Chelsio T5 产品介绍 2016年09月01日 13:56:30 疯子19911109 阅读数:4823 标签:  ...

  2. 原码,补码,反码的概念及Java中使用那种存储方式

    原码,补码,反码的概念及Java中使用那种存储方式: 原码:原码表示法是机器数的一种简单的表示法.其符号位用0表示正号,用:表示负号,数值一般用二进制形式表示 补码:机器数的补码可由原码得到.如果机器 ...

  3. 转 RabbitMQ 基础概念及 Spring 的配置和使用 推荐好文 举例讲解

    从不知道到了解—RabbitMQ 基础概念及 Spring 的配置和使用 原理同上 请求地址:http://localhost:8080/home?type=3&routing_key=myO ...

  4. 后端程序员之路 30、webapi测试工具的一点想法

    有了webapi,对应的,也就要有各种语言的sdk,有时候,还要有一个好用的api测试工具.sdk和api测试工具在功能上有一些异同,有时候测试工具会直接基于sdk来制作. 它们通常包含: 1.htt ...

  5. 如何在ASP.NET Core Web API测试中使用Postman

    使用Postman进行手动测试 如果您是开发人员,测试人员或管理人员,则在构建和使用应用程序时,有时了解各种API方法可能是一个挑战. 使用带有.NET Core的Postman为您的Web API生 ...

  6. API测试工具SoapUI & Postman对比分析

    本文由葡萄城技术团队于博客园原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 最近公司要引入API测试工具,经过调查和了解,最终决定在SoapUI ...

  7. 测试那些事儿—postman进阶使用与实战

    1.postman进阶使用 1)环境与变量: 备注:全局 和 局部 变量不会影响到变量的调用,区别在于局部变量对于非当前环境不能使用而已. a.当测试存在多个环境时,可以先设置一个环境,然后在此环境下 ...

  8. 测试那些事儿—postman入门介绍

    1.postman入门介绍 一款功能强大的网页调试与发送网页HTTP请求的工具. 1)模拟各种HTTP请求,如get,post,put,delete 2)测试集合Collection    Colle ...

  9. ASP.NET WebAPI 测试文档 (Swagger)

    ASP.NET WebAPI使用Swagger生成测试文档 SwaggerUI是一个简单的Restful API测试和文档工具.简单.漂亮.易用(官方demo).通过读取JSON配置显示API .项目 ...

随机推荐

  1. Java枚举——枚举的作用、使用方法、使用场景

    枚举的定义 枚举关键字enum 枚举类是一种特殊类,它和普通类一样可以使用构造器.定义成员变量和方法,也可以实现多个接口,但不能继承类. 枚举的使用 enum Color { RED, BLUE, G ...

  2. Appium+python自动化(四十一)-Appium自动化测试框架综合实践 - 即将落下帷幕(超详解)

    1.简介 今天我们紧接着上一篇继续分享Appium自动化测试框架综合实践 - 代码实现.到今天为止,大功即将告成:框架所需要的代码实现都基本完成. 2.data数据封装 2.1使用背景 在实际项目过程 ...

  3. c#控制台玩飞行棋游戏

    using System; namespace Game{ class Program { //用静态字段模拟全局变量 public static int[] Maps = new int[100]; ...

  4. Python 常用模块系列(2)--time module and datatime module

    import time print (help(time)) #time帮助文档 1. time模块--三种时间表现形式: 1° 时间戳--如:time.time()  #从python创立以来,到当 ...

  5. 搭建Nginx正向代理服务

    需求背景: 前段时间公司因为业务需求需要部署一个正向代理,需要内网服务通过正向代理访问到外网移动端厂商域名通道等效果,之前一直用nginx做四层或者七层的反向代理,正向代理还是第一次配置,配置的过程也 ...

  6. 领扣(LeetCode)N叉树的层序遍历 个人题解

    给定一个 N 叉树,返回其节点值的层序遍历. (即从左到右,逐层遍历). 例如,给定一个 3叉树 : 返回其层序遍历: [ [1], [3,2,4], [5,6] ] 说明: 树的深度不会超过 100 ...

  7. 领扣(LeetCode)二叉树的所有路径 个人题解

    给定一个二叉树,返回所有从根节点到叶子节点的路径. 说明: 叶子节点是指没有子节点的节点. 示例: 输入: 1 / \ 2 3 \ 5 输出: ["1->2->5", ...

  8. 系统信息命令(uname、dmesg、df、hostname、free)

    uname 显示计算机及操作系统相关的信息,uname -a显示全部信息,uname -r内核的发行号,各种信息可以有单独的选项分别指出 [lixn@Fedora24 ~]$ uname -a Lin ...

  9. C# 8.0的计划特性

    虽然现在C# 7才发布不久,并且新的版本和特性还在增加中,但是C# 8.0已经为大家公开了一些未来可能出现的新特性. *注:以下特性只是计划,可能在将来的正式版本会有一些差异 1.Nullable R ...

  10. html学习笔记--xdd

    <!DOCTYPE html> <html> <head> <title>HTML学习笔记</title> <meta charset ...