Postman 工具 – Postman 使用详解 – Chrome插件(谷歌浏览器插件)

网络工具 Alice 4年前 (2018-04-22) 7663次浏览 0个评论

  Postman 是一款功能强大的网页调试与发送网页 HTTP 请求的 Chrome 插件。

  我们在写程序的时候,经常会用到一些调试工具,今天给大家介绍的这款网页调试工具不仅可以调试简单的 css、html、脚本等简单的网页基本信息,它还可以发送几乎所有类型的 HTTP 请求!Postman 在发送网络 HTTP 请求方面可以说是 Chrome 插件类产品中的代表产品之一。

Postman 工具 - Postman 使用详解 - Chrome 插件(谷歌浏览器插件)

  去官网下载 Postman,安装注册登录后,看到如下界面,左边的 sidebar ,右边的 request builder:快速创建几乎所有的请求

Postman 工具 - Postman 使用详解 - Chrome 插件(谷歌浏览器插件)

  HTTP 请求的 4 部分:URL,请求的 method,headers,body。

Postman 工具 - Postman 使用详解 - Chrome 插件(谷歌浏览器插件)

URL – 首先需要设置的就是 URL

Postman 工具 - Postman 使用详解 - Chrome 插件(谷歌浏览器插件)

  注意:如果在输入参数时,没有自动 decode 到 URL 中,则可以选中参数右键后,选择 EncodeURIComponent(一般都会自动填充的):

Postman 工具 - Postman 使用详解 - Chrome 插件(谷歌浏览器插件)

  同样也可以 decode,将参数生成 dictionary 的形式(一般都会自动填充的):

Postman 工具 - Postman 使用详解 - Chrome 插件(谷歌浏览器插件)

  有的 URL 中有 path 变量,postman 可以自动提取该 path 变量为一个 key

Postman 工具 - Postman 使用详解 - Chrome 插件(谷歌浏览器插件)

  点击 headers toggle:

Postman 工具 - Postman 使用详解 - Chrome 插件(谷歌浏览器插件)

  输入 key-value 时,会有自动提示的下拉面板:

Postman 工具 - Postman 使用详解 - Chrome 插件(谷歌浏览器插件)

  有些 headers 和 cookies 是保密的,如:

1.Accept-Charset
2.Accept-Encoding
3.Access-Control-Request-Headers
4.Access-Control-Request-Method
5.Connection
6.Content-Length
7.Cookie
8.Cookie 2
9.Content-Transfer-Encoding
10.Date
11.Expect
12.Host
13.Keep-Alive
14.Origin
15.Referer
16.TE
17.Trailer
18.Transfer-Encoding
19.Upgrade
20.User-Agent
21.Via

  postman 0.9.6 版本后,这些限制可以解除:

  点击右上角的 Interceptor 安装这个

Postman 工具 - Postman 使用详解 - Chrome 插件(谷歌浏览器插件)

cookies

  分开打包的应用程序运行在沙箱浏览器,它不能访问 cookie 设置浏览器内。这种限制也可以使用拦截器扩展。

Method

Postman 工具 - Postman 使用详解 - Chrome 插件(谷歌浏览器插件)

Request body

Postman 工具 - Postman 使用详解 - Chrome 插件(谷歌浏览器插件)

  不同的 body editor 分为 4 个区域,根据 body 类型有不同的控制。

Postman 工具 - Postman 使用详解 - Chrome 插件(谷歌浏览器插件)

  mutipart/form-data 是网页表单用来传输数据的默认格式。可以模拟填写表单,并且提交表单。

  可以上传一个文件作为 key 的 value 提交(如上传文件)。但该文件不会作为历史保存,只能在每次需要发送请求的时候,重新添加文件。

Postman 工具 - Postman 使用详解 - Chrome 插件(谷歌浏览器插件)

urlencoded

  同前面一样,注意,你不能上传文件通过这个编码模式。

  该模式和表单模式会容易混淆。urlencoded 中的 key-value 会写入 URL,form-data 模式的 key-value 不明显写入 URL,而是直接提交。

raw

  raw request 可以包含任何东西。所有填写的 text 都会随着请求发送。

Postman 工具 - Postman 使用详解 - Chrome 插件(谷歌浏览器插件)

binary

  image, audio or video files.text files 。 也不能保存历史,每次选择文件,提交。

响应

  保证 API 响应的正确性,就是你需要做的大部分工作。postman 的 response viewer 部分会协助你完成该工作且使其变得简单。

  一个 API 的响应包含 body,headers,响应状态码。postman 将 body 和 headers 放在不同的 tabs 中。响应码和响应时间显示在 tabs 的旁边。将鼠标悬停在响应码上面可以查看更详细的信息。

保存 responses

Postman 工具 - Postman 使用详解 - Chrome 插件(谷歌浏览器插件)

查看 responses

  三种视图查看 body:

Postman 工具 - Postman 使用详解 - Chrome 插件(谷歌浏览器插件)

Pretty

  格式化了 JSON 和 XML,方便查看。 点击里面的 URL,postman 会创建一个 request:

Postman 工具 - Postman 使用详解 - Chrome 插件(谷歌浏览器插件)

  点击左边的三角可以折叠展开:

Postman 工具 - Postman 使用详解 - Chrome 插件(谷歌浏览器插件)

postman 自动格式化 body 必须保证返回了正确的 Content-Type.如果 API 没有返回,则可以点击”Force JSON“来设置。

Postman 工具 - Postman 使用详解 - Chrome 插件(谷歌浏览器插件)

Raw

  是 text。

  preview

  有的浏览器会返回 HTML 的错误,对于找问题比较方便。由于 sandbox 的限制,js 和图片不会显示在这里的 iframe 中。你可以 maximize 该 body 窗口方便查看结果。

  Headers key-value 形式展示。鼠标悬停在 headers 标签上,有详细的 HTTP 说明。

  cookies

  可以显示 browser cookies,需要开启 Interceptor。

身份验证 Authentication

  postman 有一个 helpers 可以帮助我们简化一些重复和复杂的任务。当前的一套 helpers 可以帮助你解决一些 authentication protocols 的问题。

Postman 工具 - Postman 使用详解 - Chrome 插件(谷歌浏览器插件)

Basic Auth

  填写用户名和密码,点击 Refresh headers

Digest Auth

  要比 Basic Auth 复杂的多。使用当前填写的值生成 authorization header。所以在生成 header 之前要确保设置的正确性。如果当前的 header 已经存在,postman 会移除之前的 header。

OAuth 1.0a

  postman 的 OAuth helper 让你签署支持 OAuth 1.0 基于身份验证的请求。OAuth 不用获取 access token,你需要去 API 提供者获取的。OAuth 1.0 可以在 header 或者查询参数中设置 value。

OAuth 2.0

  postman 支持获得 OAuth 2.0 token 并添加到 requests 中。

Writting Test

Postman 的 Tests 标签可以用来写测试:

Postman 工具 - Postman 使用详解 - Chrome 插件(谷歌浏览器插件)

  是 javascript code,可以为 tests object 设置 values。这里使用描述性文字作为 key,检验 body 中的各种情况,当然你可以创建任意多的 key,这取决于你需要测试多少点。 tests 也会随着 request 保存到 collection 中。api 测试保证前端后台都能正常的于 api 协作工作,而不用在出错时猜测是哪里的问题。 需要在 request 的 test 中创建了 test 后,再进行 request,test 的结果在 body 的 test 中查看。 注意: 1.这里的 key 描述必须是唯一的,否则相同描述只会执行第一个。 2.这里的 key 可以使用中文。 例子: tests[“Body contains user_id”] = responseBody.has(“user_id”) 这里描述性的 key 为:Body contains user_id。检测点为:responseBody.has(“user_id”),意思是检测返回的 body 中是否包含”user_id”这个字段。

  查看 responses 中的 Tests 结果:记过显示每个 key,也就是我们测试点的具体结果,是否通过。

Postman 工具 - Postman 使用详解 - Chrome 插件(谷歌浏览器插件)

Testing Sandbox

  postman 的测试是运行在沙箱环境,是与 app 独立的。查看什么在沙箱中是可用的,参见 Sandbox documentation.

Snippets

  用于快速添加常用的测试代码。可以自定义 snippets。

Postman 工具 - Postman 使用详解 - Chrome 插件(谷歌浏览器插件)

Viewing results

  postman 每次执行 request 的时候,会执行 tests。测试结果会在 tests 的 tab 上面显示一个通过的数量。

Testing Sandbox

Testing examples

  测试代码会在发送 request 并且接收到 responses 后执行。

  1.设置环境变量 postman.setEnvironmentVariable("key", "value");

  2.设置全局变量 postman.setGlobalVariable("key", "value");

  3.检查 response body 中是否包含某个 string tests["Body matches string"] = responseBody.has("string_you_want_to_search");

  4.检测 JSON 中的某个值是否等于预期的值

  var data = JSON.parse(responseBody);
  tests["Your test name"] = data.value === 100;

  JSON.parse()方法,把 json 字符串转化为对象。parse()会进行 json 格式的检查是一个安全的函数。 如:检查 json 中某个数组元素的个数(这里检测 programs 的长度)

  var data = JSON.parse(responseBody);
  tests["program's lenght"] = data.programs.length === 5;

  5.转换 XML body 为 JSON 对象 var jsonObject = xml2Json(responseBody);

  6.检查 response body 是否与某个 string 相等 tests["Body is correct"] = responseBody === "response_body_string";

  7.测试 response Headers 中的某个元素是否存在(如:Content-Type)

  tests["Content-Type is present"] = postman.getResponseHeader("Content-Type"); 
  //getResponseHeader()方法会返回 header 的值,如果该值存在

或者:

  tests["Content-Type is present"] = responseHeaders.hasOwnProperty("Content-Type");

  上面的方法,不区分大小写。下面的方法,要区分大小写。

Postman 工具 - Postman 使用详解 - Chrome 插件(谷歌浏览器插件)

  8.验证 Status code 的值 tests["Status code is 200"] = responseCode.code === 200;

  9.验证 Response time 是否小于某个值 tests["Response time is less than 200ms"] = responseTime < 200;

  10.name 是否包含某个值 tests["Status code name has string"] = responseCode.name.has("Created");

  11.POST 请求的状态响应码是否是某个值 tests["Successful POST request"] = responseCode.code === 201 || responseCode.code === 202;

  12.很小的 JSON 数据验证器

var schema = {
 "items": {
 "type": "boolean"
 }
};
var data1 = [true, false];
var data2 = [true, 123];
console.log(tv4.error);
tests["Valid Data1"] = tv4.validate(data1, schema);
tests["Valid Data2"] = tv4.validate(data2, schema);

结果:

Postman 工具 - Postman 使用详解 - Chrome 插件(谷歌浏览器插件)

运行 Collections

  postman 允许你运行 collection,你可以运行任意的次数。 最后会给出一个整体运行的结果。会保存每一次运行的结果,提供给你比较每一次运行解雇的不同。

  选择 collection,选择环境。点击运行按钮。

Postman 工具 - Postman 使用详解 - Chrome 插件(谷歌浏览器插件)

  在需要 csv 和 json 文件的地方记得添加。

  运行 collection 测试会在另一个窗口运行。如果需要在 main 窗口修改东西,在新窗口能正常读取。


女程序员博客 , 版权所有丨本站采用BY-NC-SA协议进行授权 , 转载请注明Postman 工具 – Postman 使用详解 – Chrome 插件(谷歌浏览器插件)

【声明】:本博客仅为分享信息,不参与任何交易,也非中介,所有内容仅代表个人观点,均不作直接、间接、法定、约定的保证,读者购买风险自担。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。

【关于安全】:任何 IDC 都有倒闭和跑路的可能,备份永远是最佳选择,服务器也是机器,不勤备份是对自己极不负责的表现,请保持良好的备份习惯。

喜欢 (23)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址