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

消息交互接口:基于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信息。

最新文章

  1. 解读ASP.NET 5 & MVC6系列(6):Middleware详解
  2. nginx日志轮巡切割
  3. Metro风格的Android界面应用
  4. EhCache WebCache 与 SpringMVC集成时 CacheManager冲突的问题
  5. 【leetcode❤python】 20. Valid Parentheses
  6. oracle的listener.ora sqlnet.ora tnsnames.ora三个文件的关联性
  7. magic c c++ unix 注册机 注册码 破解版 下载
  8. OpenGL ES 3.0 点,线,三角形绘制形式总结
  9. hdu 4548 第六周H题(美素数)
  10. iOS学习之NSAttributedString(富文本)
  11. sublime3安装
  12. GitHub转华为软件开发云详细教程
  13. HDU1081 最大字段和 压缩数组
  14. HDU 2795 Billboard 线段树,区间最大值,单点更新
  15. python selenium+phantomjs alert()弹窗报错
  16. 使用github搭建网站
  17. 必须掌握的MySQL优化指南
  18. 【easy】100. Same Tree
  19. IDEA搭建基于maven的springboot工程
  20. [luogu3391][bzoj3223]文艺平衡树【splay】

热门文章

  1. 微信小程序api封装(promise)
  2. [ERROR]element select is not allowed here
  3. python的文件操作及简单的用例
  4. scrapy_redis分布式爬虫
  5. 小白学习React官方文档看不懂怎么办?
  6. [Part 1] Ubuntu 16.04安装和配置QT5 | Part-1: Install and Configure Qt5 on Ubuntu 16.04
  7. PostGIS 用Navicat工具添加自增
  8. no matches for kind "Deployment" in version "extensions/v1beta1"
  9. windows和linux的开机顺序
  10. CentOS 7 Keepalive 脚本不执行解决