Postman接口自动化测试,通过导入出数据查看响应。图文并茂解析

现在的web和移动开发,常常会调用服务器提供restful接口进行数据请求,为了调试,一般会先用工具进行测试,通过测试后才开始在开发中使用。这里介绍一下如何在chrome浏览器利用postman应用进行restful api接口请求测试。

关于Postman的安装方法,可以在网上自行搜索安装,很简单。.

一、导入导出打包的应用

在Postman中导入导出我们的测试数据包 和工作环境,非常的方便。

导出数据包

导出工作环境

导入数据包

导入工作环境

二、发送请求和查看响应

发送请求

Postman的界面分为 左边的侧边栏 和 右边的请求构建器 两部分。请求构建器允许你可以快速的创建几乎任何类型的请求。一个HTTP请求的四部分:URL、Method、Headers、Body,在Postman中都可以设置。

URL

在你构建request请求的时候,首先要设置的就是URL。在URL输入框中输入你请求的链接,你可以单击Params按钮,在编辑器中输入key-value格式的URL参数。

在URL地址栏中的输入和编辑器中输入的key-value参数,不会自动的编码为 URL-encoded,选中要编码的文本,右键选择**EncodeURIComponent **,手动编码参数值。

你可以单独的添加参数,Postman会自动的把他和URL整合到一起,如果你从其他的地方粘贴了URL过来,Postman也会自动的把 Params中的参数进行设置。

一些API端点使用路径变量,你可以在Postman中设置,他们位于两个 / 中,样式如下

如果你要设置他,单击Params按钮,你会发现key部分已被自动设置好了,根据需要填写value部分就行。

Headers:

单击Headers切换按钮,你可以在key-value编辑器中设置任何字符串作为header的名称。

受限的headers和cookies

不幸的是一些headers收到Chrome和XMLHttpRequest规范的限制,以下headers被屏蔽:

Accept-Charset

Accept-Encoding

Access-Control-Request-Headers

Access-Control-Request-Method

Connection

Content-Length

Cookie

Cookie 2

Content-Transfer-Encoding

Date

Expect

Host

Keep-Alive

Origin

Referer

TE

Trailer

Transfer-Encoding

Upgrade

User-Agent

Via

从Postman v0.9.6版本开始,我们可以使用拦截器来发送这些受限的headers:

安装完成后点击切换就可以使用这些headers发送请求了。

headers预设

你可以保存常用的headers在headr prest里面:

Method

单击HTTP的请求方法按钮,在给出的下拉菜单中选择使用的方法即可,对应的方法需要body的,body部分便被设置为可填写。

body部分编辑

当我们发送请求需要填写body部分时,Postman几乎可以让我们发送任何类型的HTTP请求。body编辑器分为4个部分:

form-data

form-data是web表单默认的传输格式,编辑器允许你通过设置key-value形式的数据来模拟填充表单。你可以在最后的选项中选择添加文件。

urlencoded

这个编码格式同样可以通过设置key-value的方式作为URL的参数。

raw

一个raw请求可以包含任何内容。在这里你可以设置我们常用的JSON 和 XML数据格式。

二进制

在这里你可以发送视频、音频、文本等文件。

处理响应

Postman的响应查看器允许你方便的查看API的响应是否正确。

一个API响应器包括Body、Headers、status code三部分。Body 和 Headers在不同的选项卡中,status code在收到响应时在标签行的最右边显示。

保存响应内容

如果你在收藏夹中保存了request请求,你可以在请求收到的对应的响应中单击save按钮,指定一个response的名字,来保存对应额response。一个request对应的所有的response都是有效的。

当我们要查看我们保存的response的时候,只需要点击我们的发送的request选择我们要查看的response即可:

查看响应

Postman的body标签中有三种查看方式:Pretty、Raw、Preview

Pretty:

Pretty方式,可以让JSON 和 XML的响应内容显示的更美观规整。

Raw:

显示最原始的数据,可以帮助你判断是否minified

Preview:

可以帮你把HTML页面自动解析显示出来。

Headers

这里显示了一些键值对,表示了HTTP请求中header中的信息。

Cookies

Postman v0.8.x 版本可以显示浏览器的cookie。

身份验证

Basic Auth

输入用户名和密码,点击 Update Request 生成 authorization header

Digest Auth

Digest auth 比 Digest auth 更加复杂,使用当前request中的设置来生成authorization header,请确保在生成前你的设置的正确性。

OAuth 1.0

Postman的OAuth1.0工具让你可以生成支持OAuth1.0身份认证的请求,目前他不能获取access token。

OAuth 2.0

Postman支持获取OAuth 2.0 token,并且可以非常简单的添加到request中。

从OAuth 2.0中获取access token,要遵循下面这些步骤:

在你的APP设置页面设置 **https://www.getpostman.com/oauth2/callback

** 作为 callback URL

获取 authorization URL, 从你的API提供者那里访问 token URL、 client ID 和 client secret。你可以设置一些API需要的参数范围来设置你再API中的访问级别。

按下 Request Token 按钮来启动OAuth 2.0 flow。如果一切设置正确,你将会被重定向到Postman的服务器,他将获取你的access token 并且发送到Postman的app,这样就给Postman添加了token,给他设置一个name,让你在以后可以快速的访问

access token将被保存在本地,显示在帮助列表。点击token名称,就可以把它添加到request中。

Requests History

所有你使用Postman发送的request都将保存在左侧边栏的History中,他会帮助你通过尝试不同的request来生成一个新的request,而不必浪费你太多的时间。你可以通过单击一个request的名字来加载他。

如果你创建了Postman的账户,你的历史数据将被同步到Postman的服务器,你可以在不同的平台上使用Postman的时候同步你的数据。

使用tab来控制多个请求

很多用户可能需要同时打开多个请求,你发送的request将被保持在当前的标签中,当你切换到其他的标签时,不用担心不能及时的接受response。

使用拦截器来读写cookie

和Mac上的应用不同,Chrome的应用本身并不支持获取cookie,你可以使用拦截器来实现这个功能。打开拦截器的时候,你可以检索特定域中的cookie,并发送包含cookie的request。

检索cookie:

启动拦截器

在测试部分,你可以使用responseCookies对象,他将返回一个cookie对象的数组。使用postman.getResponseCookie(cookieName)检索cookie特定的名称。他将返回一个单独的cookie对象。

每个cookie都会包含下面这些属性:

domain、 hostOnly、httpOnly、 name,、path、 secure、 session、 storeId、 value

设置cookie:

确保打开了拦截器

在headers部分包含cookie的头

例如:Cookie: name=value; name2=value2

3.发送request,你设置的cookie将会和你的request一起发送。

捕捉request

现在Postman的拦截器可以从Chrome浏览器直接捕捉request,并保存到历史中。这意味着你可以及时的调试你的web应用的api。这里不需要安装或者配置代理,也不需要更改代码。你可以根据基于URL的正则表达式过滤request。

设置文件

你可以在Postman的设置中处理重定向

General

Trim keys and values in request body

如果你使用表单数据或者URL编码模式来发送数据到服务器,这项设为true后就引起所有参数修整。

Send no-cache header

你可能想要这项设置为true,这会确保你收到及时刷新的response。

Send postman-token header

这主要是用来绕过Chrome的一个bug。如果一个XMLHttpRequest 处于等待状态,另一个request 发送了同样的参数,Chrome将会为两个request返回同样的response。发送一个随机的token将会避免这个问题。这同样也会帮助你区分服务器端的request。

XHR Timeout(ms)

设置app等待响应的时间,如果服务器没有响应的话。

Automatically follow redirects

防止我们的request返回一个300系列的response被自动重定向。你需要安装拦截器来防止重定向。

Open history/collection requests in a new tab

设置为 true,当你点击左侧边栏历史或者收藏里面的request时,会在一个新的tab中打开。

设置为false,则会在当前tab中打开。

Response Font Size

设置response视图中的字体大小

UI Size

设置UI的大小

Retain headers on clicking on links

如果你在response中你点击了一个连接,Postman会为这个URL创建一个新的GET request。如果你想要保留headers 在request之前设置他,就设置为true。当你主要方为一些受保护的资源的时候这个功能将会非常有用。

Language detection

如果你测试的API没有在header中返回 Content-Type ,则response不会数据转换成合适的格式。你可以强制指定body的数据类型为JSON等格式。

Variable delimiter

变量是保存在双花括号中的,但是你可以改变成其他的字符,这项并不推荐设置除非你出现了问题需要更改这里。

Force windows line endings

Refer to this Github issue to know more

Instant dialog boxes

禁用 eye-candy 并立即显示所有的对框框模式

Send anonymous usage data to Postman

来禁止匿名用户使用数据的选项,这是的Postman的保护性更好。

Theme

选择你喜欢的两种主题风格

Shortcuts

设置常用的快捷键

Data

导入导出我们设置的环境和数据,这回覆盖你现在的收藏和环境,所以小心使用。当然你可以把你现在的环境先导出作为备份。

Add-ons

Interceptor

Postman proxy

Sync

如果你登录了Postman,你的数据就会被同步更新到Postman的服务器上,者可以确保你再次使用Postman的时候可以同步自己的数据。

你可以强制同步或者禁用他。

西边人西说测试,

头条号(软件测试资源站)作者,程序爬虫获取国内外测试资源分享给自学爱好者。

今日头条关注后,私信回复如下关键词获取大量打包资料下载。

测试资料、工具、Python、自动化测试报告、梯子 等

QQ群:330374464

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,948评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,371评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,490评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,521评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,627评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,842评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,997评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,741评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,203评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,534评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,673评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,339评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,955评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,770评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,000评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,394评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,562评论 2 349

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,633评论 18 139
  • 导读: 现在的web和移动开发,常常会调用服务器提供restful接口进行数据请求,为了调试,一般会先用工具进行测...
    常大鹏阅读 103,155评论 13 143
  • Postman用法简介-Http请求模拟工具 在我们平时开发中,特别是需要与接口打交道时,无论是写接口还是用接口,...
    奥利奥龙卷风阅读 4,206评论 2 9
  • Postman 是一个很强大的 API调试、Http请求的工具,当你还准备拿着记事本傻傻的去写 Form 表单的时...
    MR_LiY阅读 3,462评论 0 3
  • 三大坑:1、莫名其妙地凑热闹 大量闲置的时间需要被杀掉,大量闲置的经历需要被发泄,大量的好奇心需要找个喷射的出口…...
    于帅Jacob阅读 394评论 0 1