postman的使用

内容概要:1、环境变量、全局变量 2、脚本 3、数据池 4、mock server

一、主界面


主界面

1、History:查看看请求的历史记录

    Collections:创建的收藏,收藏可以把请求的URL地址、方法、参数保存下来。

2、request builder:请求构建器,可以快速构建出我们想要的request。

3、reponse:body响应内容,有三种查看方式

        pretty:格式化json或xml形式的响应内容

        raw:text文本

        perview:渲染后的响应内容

右上角也包含了响应状态码、响应时间及响应大小。


二、Environment 和 Globals

在request左上角可以配置、查看环境变量和全局变量


查看environment和globals

配置好的环境变量和全局变量,在请求地址、请求体和脚本中都可以引用。例:在接口地址中引用环境变量,实现在测试环境和正式环境间的快速切换,不需要再重新构建请求。


引用环境变量和全局变量


三、脚本

postman集成了一个基于nodejs的script引擎,借助它,可以为requests和collections添加动态的行为。

这样就可以在编写test suite时,构建可以包含动态参数的request,在request之间传递数据等等,实现一定程度上的自动化测试。

你可以在流程中的两个时间段中添加要执行的JavaScript代码:

1. 在发送request之前,编写pre-request script,定制化request。

2. 收到response之后,用test script,处理返回的数据。

流程如下:


流程图

pre-request script就是一段在发送request之前执行的脚本,通过它再配合上对环境变量的使用,可以实现变化的url参数、变化的请求body。

举个栗子:

我想每次使用不同的insuPeriod来请求这个接口。

先配置了一个叫insuPeriod初始值为0的全局变量,并在我的请求体中使用双花括号引用了这个变量。


body引用变量

然后在Pre-request Script里面写了个脚本,使insuPeriod自增。


pre-request script

这时候我们每发送一次请求insuPeriod都会+1。

但是这时还需要靠肉眼去看response的内容来判断结果是否符合预期。

所以我们写一个test来在每一次请求结束后自动去判断,下面这一段代码是来判断response body的code值是否等于"SUCCESS",若不等于,则不通过测试。(在test中有postman准备好的code snippets 选择即可直接使用)


test script

可我还是不满足,因为现在还是需要我每次去点击发送请求,可不可以让它自动执行多次请求并断言呢?

这时就需要用到collection runner中的迭代了,在collection runner中我们可以设置运行环境、迭代次数、每次运行的间隔时间,还可以上传本地的数据文件以供使用(后话)。

这里我设置了12次迭代,然后开始执行。


执行完毕后postman会生成Run Results 和 Run Summary,在这两个页面可以查看每次请求的结果、test脚本执行的结果、也可以查看每次运行的详细信息,便于定位问题,从下图中可以看出第二次的提交的requst body中的insuPeriod值为2,说明我们的Pre-request Scrip起了作用。


run results


run summary

四、数据池

在postman的collection runner中可以上传数据文件,使用这个数据文件可以是我们的请求和脚本参数化,使每次用例的迭代的数据都不同。

数据文件可以是cvs或json,在csv文件中,文件的第一行为参数名,下面是参数对应的值,需注意数据的条数要与迭代的次数相同。

图中为两个参数设置了三个值


csv文件

在请求中引用参数,每次迭代都会重新获取数据池中的值。


在请求体中引用参数

同样,在脚本中也可以引用数据池中的参数,可以用data.test或data['test']来获取


在脚本中引用参数值

在collection runner中上传数据文件生成数据池。


上传数据文件

此时点击开始运行,每次请求都会一次请求上传的数据池中的数据,实现了collection运行的参数化,而不用每次运行都去手动修改参数值,相当于一个简单的自动化测试,适用于回归测试。


五、mock server

mock测试:对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法,可以不后端返回数据。

我们的业务也有涉及到其他公司提供接口的情况,会使测试进度卡在某个节点上,可以用postman搭建临时的mock server来模拟这类接口的服务,进行测试,下面演示一下如何用postman创建一个mock。

1、new一个mock server,填写一个api,这里可以先不详细写,后面再对request path 和responsebody做二次编辑。


新建mock server

2、填写mock-server名称,如果需要使用环境变量,可下拉选择。创建mock-server。


填写mock server 名称

3、生成mock url


生成mock url

4、创建mock时已经生成了一个为testmock的路径,这时选择在这个mock-server的环境下,点击send发送请求就可以获取到我们预先设定好的返回值了。

点击右上角的Add Example,可以再添加其他的请求和返回值。


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

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,100评论 18 139
  • 基本介绍(简单记录,有不正确的地方请指出) 下载地址:https://www.getpostman.com/app...
    安之若素_Lei阅读 481评论 0 0
  • 原文P19,取自第一章《高手的暗箱》: 留心观察,你会发现个人成长也是一个“渐进—跃迁”的过程。 持续的学习、阅读...
    云飞海阅读 351评论 0 0
  • 我是日记星球212号星宝宝万儿,我在参加日记星球第十二期21天蜕变之旅,这是我在日记星球写的第249篇日记。 又到...
    万儿阅读 219评论 2 4
  • 文/雨芷 迢迢牵牛星 迢迢牵牛星,皎皎河汉女。纤纤擢素手,札札弄机杼。终日不成章,泣涕零如雨;河汉清且浅,相去复几...
    雨芷阅读 2,091评论 0 0