跳转至

Postman 接口测试

点击这里,观看项目说明视频讲解

Postman 主要用来做 基于HTTP 的 API 接口测试。

所以首先大家要对 HTTP 协议和接口测试有基本的了解,如果没有这方面的知识,请点击这里 学习 前3章

快速上手

请点击这里到Postman网站下载 Postman安装程序

安装过程很简单,基本是一路 下一步


安装完成后,桌面上Postman的 图标点击它启动 。

启动时要求你注册一个账号,可以先跳过去,选择右下角 continue with the lightweight API client


进入到操作主界面后,可以在右边的 HTTP 请求构建界面的地址栏 里, 输入一个网址比如: www.baidu.com

然后点击send按钮,就可以在界面下方看到 发出的请求收到的响应 的消息构成

被测系统

讲解API接口测试,需要有个被测的系统,

请大家点击这里,按照说明下载、安装、运行 白月SMS系统,作为 API接口服务系统

然后 点击这里了解 白月SMS系统的接口文档

构建HTTP请求

API的测试,构造http请求是重点,Postman可以帮助我们快速的构建HTTP请求

前面我们学习过HTTP请求的消息构成。

HTTP请求消息中,我们可以参与构造的部分主要有哪些呢?

  • Method(请求方法)
  • URL(包括参数)
  • Headers(请求头)
  • Body (消息体)

Postman可以让我们方便的构建这些内容。

请求方法, URL, 请求头

Postman里面可以在 请求方法下拉框 ,非常方便的选择HTTP请求的方法。


URL输入框里面输入接口url

比如www.baidu.com 协议类型 http 可以省略不写

如果是 https , 需要写上。 如果网站会自动的重定向,也可以省略。

URL参数可以直接在URL输入框里面 整体输入 ,也可以在下方 Params 栏里面 逐个输入


在下方 Headers 栏里面 可以逐个输入需要额外添加的HTTP请求头

请求消息体

有的时候,我们发送HTTP请求需要携带消息体。 最常见的就是POST、PUT请求。

通常API接口测试 HTTP请求的消息体,是大家最容易糊涂的地方。为什么?

因为 消息体是有不同格式的!!!


比如 BYSMS系统要添加一个客户的信息,包括:客户名、联系电话、地址

怎么放到消息体里面传递出去?

通过http请求发送的数据,必须是字节串。我们必须要用字节串来表示 对象,这个术语叫做 序列化

序列化成什么格式呢?不同的人,喜欢不同的格式,

张三喜欢xml格式

<client>
    <name>华山医院代理2</name>
    <phone>13599887766</phone>
    <addr>上海华山路777号</addr>
</client>

李四喜欢json格式

{
    "name"  :"华山医院代理2",
    "phone" :"13599887766",
    "addr" :"上海华山路777号"
}

王五甚至自己定义了一个格式

华山医院代理2|13599887766|上海华山路777号


不管使用上面的哪种格式,都能起到 传递信息的作用。

你测试的系统 使用什么格式, 是由你的开发人员 定义的,他喜欢什么格式就是什么格式。

所以首先,你必须搞清楚 你的接口测试请求消息体数据到底是什么格式 。

API接口里面,比较常见的就是 urlencodedjsonxml 这3种


根据协议规范, HTTP头里面的 Content-Type 字段指明消息体格式,比如

urlencodedapplication/x-www-form-urlencoded

jsonapplication/json

当请求被发送的时候,Postman会根据你设定的消息体格式,自动加上对应的 Content-Type 消息头。


以 bysms 系统为例, 登录接口消息体的格式 是 urlencoded, 所以,Postman中应该这样设置


而添加客户接口消息体的格式 是 json, 所以,Postman中应该这样设置

根据接口文档, 添加用户请求消息中,必须携带登录成功的cookie:sessionid

Postman会自动保存响应消息中的 cookie,后续Postman对该网站服务的请求消息,会自动携带发送。

如果前面成功执行过登录接口, 返回的响应数据中的cookie会被自动存入,不需要我们手工设置消息头中的cookie数据。

这样操作起来会比较方便。


接口测试

了解了Postman接口测试工具,该怎么用?接下来,我们就可以使用它进行接口测试了

进行接口测试之前,首先要编写接口测试用例。 我们白月黑羽教程这里 有详细的讲解。

我用现有的用例文档给大家演示一下接口测试的做法,见视频讲解。