接口测试之postman简介
很长时间没有用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的命令可以看到,不但是用例,还有环境都可以导出来然后进行执行。
接口测试之postman简介的更多相关文章
- 接口测试之-postman
在使用postman进行接口测试的时候,对于有些接口字段需要时间戳加密,这个时候我们就遇到2个问题,其一是接口中的时间戳如何得到?其二就是对于现在常用的md5加密操作如何在postman中使用代码实现 ...
- API Test Postman接口测试之高级篇1
API Test Postman接口测试之高级篇1 一.postman中的请求参数简介: 1.请求参数简介: 点击params下面会出现key,value等信息,这里填写的会自动追加在url地址后面 ...
- API Test Postman接口测试之高级篇2
API Test Postman接口测试之高级篇2 一.继承父类的设置: 二.导出及导入: 三.分享文档: 四.发布接口文档: 五.常用脚本: 右边框选的是一些常用的脚本,postman提供的,可以 ...
- HttpClient接口测试之会话保持
HttpClient接口测试之会话保持 HttpClient4.X自带会话保持功能,使用同一个HttpClient未关闭的连接即可保持登陆会话,如果多个HttpClient想要使用一个登陆会话 ...
- SoapUI接口测试之实战运用操作(五)
SoapUI接口测试之实战运用操作(五)
- [转]SQLITE3 C语言接口 API 函数简介
SQLITE3 C语言接口 API 函数简介 说明:本说明文档属作者从接触 SQLite 开始认识的 API 函数的使用方法, 由本人翻译, 不断更新. /* 2012-05-25 */ int sq ...
- WebAPI接口测试之matthewcv.WebApiTestClient
WebAPI接口测试之matthewcv.WebApiTestClient matthewcv.WebApiTestClient 1.安装matthewcv.WebApiTestClient包 打开v ...
- 老李分享:接口测试之jmeter
老李分享:接口测试之jmeter poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.移动端自动化测试很多人把他仅仅理解成appu ...
- SoapUI SoapUI接口测试之编码设置
SoapUI接口测试之编码设置 by:授客 QQ:1033553122 问题描述: 实际测试过程中发现,SoapUI提交后的数据,在数据库中查看数据值存储,发现是乱码,如下图: 查找原因,show c ...
随机推荐
- PowerShell 远程执行任务
在 linux 中我们可以使用 SSH 执行各种远程操作,同样的在 windows 平台上我们可以通过 PowerShell 获得类似的能力.本文将介绍通过 PowerShell 执行远程操作的基本信 ...
- poj_2186: Popular Cows(tarjan基础题)
题目链接 tarjan参考博客 本文代码参考博客 题意:求在图上可以被所有点到达的点的数量. 首先通过tarjan缩点,将所有内部两两可达的子图缩为一点,新图即为一个有向无环图(即DAG). 在这个D ...
- Mybatis jpa mini 代码解析
源码地址(git):https://github.com/LittleNewbie/mybatis-jpa 一.Mybatis简介 mybatis中文官方文档:http://www.mybatis.o ...
- Pivot Table系列之展开/折叠用法 (Expand/Collapse)
1.遇到的问题: PivotTable中本来已经展开的维度的Hierarchy(层次结构),在切换切片器的数据集时,层次结构就折叠在一起了:没有按照之前的方式展开显示. 2.在做成PivotTable ...
- 可存放任意类型变量的动态数组--C语言实现
之前在训练营的时候被要求用C语言实现一个可以存放任意类型数据的栈.现在尝试实现一个数组版本. 首先用到的结构体如下(接触了Win32编程所以长得有点像里面的那些类型): typedef struct ...
- Android源码博文集锦4
Android精选源码 一款常见的自定义加载动画 android开源记账项目CoCoin Android自定义view:拖拽选择按钮 Android指纹识别 一个折线图,它提供了几个非常实用的功能 一 ...
- 关于hibernate的缓存使用(转)
原文链接:http://blog.csdn.net/woshichenxu/article/details/586361#t0 1. 关于hibernate缓存的问题: 1.1.1. ...
- linux任务前后台执行
Linux任务前后台的切换 Shell支持作用控制,有以下命令实现前后台切换: 1. command& 让进程在后台运行 2. jobs 查看后台运行的进程 3. fg %n 让后台运行的进程 ...
- React Native编译器的配置以及基础知识
入职新公司,这边打算采用RN来写界面,所以学习一波这一块的知识. 采用的是WebStorm来编译,据同事说,比他采用atom编译要多很多语法提示. 下载地址:https://www.jetbrains ...
- HDU - 3853
LOOPS Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 125536/65536 K (Java/Others)Total Sub ...