接口测试之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 ...
随机推荐
- JavaSE中Map框架学习笔记
前言:最近几天都在生病,退烧之后身体虚弱.头疼.在床上躺了几天,什么事情都干不了.接下来这段时间,要好好加快进度才好. 前面用了三篇文章的篇幅学习了Collection框架的相关内容,而Map框架相对 ...
- 华为OJ之放砝码
题目描述: 现有一组砝码,重量互不相等,分别为m1.m2--mn:他们可取的最大数量分别为x1.x2--xn.现在要用这些砝码去称物体的重量,问能称出多少中不同的重量. 注: 称重重量包括0: 要对输 ...
- 【转载】CANoe 入门 Step by step系列(二)CAPL编程
来源:http://www.cnblogs.com/dongdonghuihui/archive/2012/09/26/2704619.html CAPL就是Communication Applica ...
- 如何制作一个完美的全屏视频H5
写在前面的话: 最近一波H5广告火爆整个互联网圈,身为圈内人,我们怎能 不! 知!道! :( 嘘!真不知道的也继续看下去,有收获 ↓ ) So,搞懂这个并不难. 这篇文章将带你从头到尾了解H5 ...
- saveOrupdate和 merge的区别
merge和saveOrUpdate方法区别在于:merge方法是把我们提供的对象转变为托管状态的对象:而saveOrUpdate则是把我们提供的对象变成一个持久化对象:说的通俗一点就是:saveOr ...
- (转)xml
1 XML理论回顾 1.1 XML概述 1.XML是可扩展标记语言.是由W3C指定并维护的,目前最新的版本是1.0 2.XML作用: 2.1传输数据,它是一种通用的数据交换格式 2.2配置文件. 1 ...
- html中ul元素水平排列问题
<!DOCTYPE html> <html> <head> <style> #pic_list { display:block; white-space ...
- android studio生成junitLibs
apply plugin: 'com.android.application'android { compileSdkVersion 24 buildToolsVersion "25.0.0 ...
- HTML细节
link 设置body中超链接默认颜色 : alink 设置body中超链接点击时候的颜色: vlink 设置body中超链接访问过后的颜色 字体的大小 size 大小 取值范围 ...
- Redis-事务即简单锁应用
Redis支持简单的事务, Redis允许一组命令在单一步骤中执行, 事务有两个属性 事务是一个单独的隔离操作, 事务中所有的命令都会序列化, 按照顺序执行. Redis事务是原子性的, 即要么都执行 ...