Postman 接口测试入门教程

一、Postman可以做什么?

Postman 可以做API测试,不仅开发可以使用测试API是否可用。测试人员可以做一些接口验证,例如,参数验证,返回值校验等。后续使用nodejs 的newman进行自动化测试。

二、Postman下载,安装

Postman有两种安装方式,第一种是Chrome插件版,第二种是桌面版
两者的优缺点比较

版本 优点 缺点
Chrome版本 不需要打开新的应用,浏览器中随用随开 1、功能不全,如果需要全部功能,建议桌面版。 2、插件包不好找,因为某些原因,不能从官方商店安装
windows版本 需要打开新的应用,而且需要安装 1、功能齐全。2、安装包容易找到

总结:如果平时只是测试api,不需要太多功能,且能找到插件包的建议使用Chrome版本。
反之安装Windows版本。

1、Chrome插件安装

  • 下载插件包
     链接:https://pan.baidu.com/s/1v_zH4QnG2qJSfHvloCs0pg 
     提取码:y472 
  • 解压zip包


    解压
  • 打开Chrome加载已解压的文件夹,更多工具->扩展程序


    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

2、windows版本安装

三、Postman api测试

因为桌面端功能会比较全,以下演示使用桌面端演示,插件版上部分功能受限制。

创建Collection

image.png

创建API

这里使用了一个公共API来测试 https://www.apiopen.top/journalismApi获取信息

image.png

查看Console

有时候想要查看下api到底发送的详情,比如,api是否真的发送成功,使用了什么参数,用了多长时间,打印信息等。这时候可以打开菜单栏中的View->Show Postman Console查看。


image.png

传递参数

传递参数一般常用的有Query,header,body三种形式。这里只演示一下Query参数。


image.png

image.png

如果仅仅只是使用Postman作为测试api是否可用,以上信息基本足够,如果是测试想使用postman做api测试请继续查看。

编写Tests

Tests是做接口测试需要使用的功能,是希望api的返回值是否与期望的返回值一直


image.png
  • 测试返回code是否为200
pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});
  • 测试返回json对象msg属性是否为'成功!',打印使用console,在上文打开的Show Postman Console中查看打印信息。
pm.test("Test msg", function () {
    var jsonData = pm.response.json();
    console.log(jsonData) ;
    pm.expect(jsonData.msg).to.eql('成功!');
});
image.png
image.png

循环创建TestCase,根据期望对象验证返回对象属性

//创建期望对象
var info = {
    "code":200,
    "msg":"456",
}
//获取返回对象
var jsonData = pm.response.json();
//验证code属性与msg属性
testObj(info,jsonData) ;

//方法,根据期望对象中的属性,验证返回对象属性
function testObj(expect,response){
    for(var key in expect){
    (function(key){
        pm.test('测试'+key+'属性', function() {
          pm.expect(expect[key]).to.eql(response[key]);
        });
    })(key)
 }
}
image.png
image.png

设置全局函数

将上文中自己写的函数,设置为全局变量,这样,其他API中也可以直接使用。


image.png
image.png
//加载全局函数
eval(globals.testObj);
//调用函数
testObj(info,jsonData) ;

更多测试方法可以去参考资料查找

使用Pre-request Script

该选项一般在api运行前执行,可以提前设置参数,然后query,header,body获取参数之类的操作。
设置变量pm.environment.set("param1", "123456");

image.png

image.png

image.png

更多测试方法可以去参考资料查找

设置Collection Token或SessionId信息

有时候api测试时需要先调用登录信息,再携带返回的token或者session信息才能执行。
可以将login api返回的token/sessionid信息设为全局变量,然后设置Collection的authorization,这样,就不用在每一个Api中填写token/sessionid信息了。

  • 将login api 与其他 api 都添加至collection


    image.png
  • 调用login api 将返回的token/sessionid信息存入全局变量,下图是假装调用了一个login api,在tests中设置sessionid变量。


    image.png
  • 设置Collection authorization,设置后,Collection中的所有api会自动携带token/sessionid信息,这里有好多种选项,根据个人需求,选择。我这是是在header中添加一个SESSIONID属性。


    image.png

    image.png

-执行API,看是否携带了设置的参数,查看request header,确实携带了SESSIONID参数,并且与上文设置的值一致。


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

推荐阅读更多精彩内容