很长时间没有用postman了,今天趁着有点时间,对这个接口测试的利器从以下几个方面简单回顾下。
1、postman介绍
2、Postman安装
3、Postman建立、管理、回放请求
4、Postman自动化
1、postman介绍
Postman,接口测试利器,有着很多的优势,这几年备受青睐。
1)支持各种方式的Http请求,可以轻松模拟各种网络发包
2)回放和管理请求的模块也是功能强大
3)Postman是谷歌的插件,安装非常方便
4)谷歌的插件二次开发也非常简单,方便,目前很多公司就有专门的团队来对这个进行二次开发,有针对性的支持公司内部的需求
2、安装
下载地址:https://www.getpostman.com/
1)下载了之后,打开谷歌浏览器,“更多工具”--> “扩展程序”,然后将下载的postman直接拉进去就行了
2)安装完成之后,就会多出下面这个图标
在安装过程中,需要注意的几个点:
1)下载之后,把扩展名为”.crx”改为”.zip”或者是”.rar”
2)然后解压出来
3)在安装的时候,浏览器打开“开发者模式”
4)如果出现下面情况Chrome浏览器提示无法加载以下来源的扩展程序: xxx路径(Chrome插件文件的解压位置)Cannot load extension with file or directory name _metadata. Filenames starting with "_" are reserved for use by the system.出现这种情况,是因为这款Chrome插件与新版的Chrome浏览器有些不兼容,这时候,用户可以打开刚刚解压的Chrome插件文件夹,并把其中_metadata文件夹的名字修改为metadata(把前面的下划线去掉),然后再试下就好了
3、建立、管理和回放请求
1)建立请求
建立请求比较简单,打开postman之后,可以看到下面的界面:
举个例子:(唯品会中母婴产品,加入购物袋接口)
用postman接口进行调用的效果:
这里的http状态码,大家可以自己搜索下,在实际的使用过程中也经常会使用。
第二步:利用test来进行设置断点,这也是后续批量处理,自动化测试的基础动作
比如,我这里利用http状态码来判断接口调用是否成功
这里postman提供了十分强大的功能,我们可以针对http状态码,针对接口的响应时间,字段值,responsebody包含内容等等来作为检测项来进行判断。具体的示例,在安装的postman中collections中有非常多的示例,没有研究过具体的语法,但是如果只是为了测试,我想这些样例已经可以应对绝大部分的内容了。
第三步,我们在测试的过程中有test环境,staging环境等,我们可以利用postman的功能来配置环境变量,存放多套环境,再测试不同的环境的时候进行切换,在实际使用的过程中非常简单有效。
比如,我们上面例子中的”http://cart.vip.com/te2/”用”URL”替换。
1)配置环境变量
2)Add之后,维护一个键值对
3)修改原先的HTTP请求
4)测试结果
不要环境的时候,发送请求:
切到环境“例子”之后,再发送请求:
在模块化的接口的时候,经常遇到几个接口请求之间会有依赖关系。比如说,前面是登录接口,然后获取到token之后,再使用加入购物车接口。这样就需要把前面的结果传递给后面需要使用的接口,这就可以使用这里的功能。
1)首先设置好环境变量
2)然后结合上一步中的”test”功能,在这里进行赋值
3)后续接口调用的时候,就可以使用这个posttoken参数了
2)管理请求
把上面的http请求分类并保存之后进行管理
我们可以清晰地看到各个模块不同的接口的情况,下次接口使用和回归的时候就可以直接使用了
在一个新版本上之前,和所有接口测试完成之后进行回归的时候,这个功能就能完美地体现他的优势了,我们简单地看下。为了说明我在这个“用例样例”中再加一个请求。
然后,执行了之后就能看到每个接口的情况
另外,这里还有一个非常强大的功能,可以下载和分享所有接口给组内的其他成员
3)回放请求
这个功能我自己用的比较少,但是也是一个非常强大的功能。这个功能需要另外一个插件进行配合完成。
安装的方法和postman的一样,大家可以在网上找一下。安装完成之后,会在右上角出现这么个图标:
安装完成之后,点击打开就会捕获浏览器所发的请求了
然后再在postman中,打开同步按钮,就会将这里所捕获的请求同步到postman的”history”中。
4、postman的自动化
1) 安装node.js
2) 在cmd中安装Newman: npm install -g newman
3) 查看Newman安装情况
然后是Newman的使用:
1) 把postman导出来的文件放到一个文件中
2) 然后在cmd下到这个文件中去
3) 然后用Newman来指定文件执行
newman -c PC.json.postman_collection -e EHSY-STAGING.postman_environment
再然后配置Jenkins:
1) 新建一个job,只需要配置
C:\Users\xxx\AppData\Roaming\npm\newman -c C:\Users\xxx\postmancase\1.json.postman_collection
2)然后做邮件部分的配置和定时等,就可以定时启动去执行我们的用例,并且发送报告给相关的人员。
另外,我们通过上面Newman的命令可以看到,不但是用例,还有环境都可以导出来然后进行执行。