1 postman简介
1.1 什么是Postman
Postman 提供功能强大的 Web API 和 HTTP 请求的调试,它能够发送任何类型的HTTP 请求 (GET, POST, PUT, DELETE…),并且能附带任何数量的参数和 Headers。而且它还提供测试数据和环境 配置数据的导入导出,付费的 Post Cloud 用户还能够创建自己的 Team Library 用来团队协作式的测 试,并能够 将自己的测试收藏夹和用例数据分享给团队。 从分层测试的角度来说,接口测试是必备技能。常见的接口测试工具很多,如:jmeter, soapui,postman等。相比较jmeter而言,postman它不仅可以调试简单的css、html、脚本等简单的网 页基本信息,它还可以发送几乎所有类型的HTTP请求!Postman在调试HTTP请求方面可以说是很方便的接口 测试产品之一。 postman适用于不同的操作系统,还支持postman浏览器扩展程序、postman chrome应用程序等。但 是 浏览器插件目前Google已经停止更新了。
正在上传…重新上传取消
Postman.png
9.2 Postman下载和安装
9.2.1 Postman的下载
官网下载: 地址:https://www.getpostman.com/downloads/,选择页面中的“Download”,根据自 己电脑配置, 选择32位下载还是64位下载
9.2.2 Postman的安装过程
- 双击下载好的安装包
- 因为Postman是免安装的,双击安装包,自动安装到本地电脑中
- 查看Postman界面,出现如下图所示,说明安装成功
- 登录,点击进入workspace页面
9.3 Postman主界面的介绍
9.3.1 工具栏
正在上传…重新上传取消
image.png
9.4 Postman基本操作
9.4.1 新建测试集、文件夹、请求用例
点击collections,点击+,点击create new collection
正在上传…重新上传取消
image.png
点击collection右边的三个点,点击add request是添加请求,add folder是添加文件夹
正在上传…重新上传取消
image.png
9.4.2 get请求
新建一个get请求,如图所示
- 设置请求方式为get
- 粘贴网址
- 添加请求参数,参数添加后会在url上显示出来,如图中所示的?id=1005008&page=1&size=100
- 如果有请求头,在请求头的部分添加,也是键值对
-
点击send之后,下面显示响应数据,可以是html,json,xml...
正在上传…重新上传取消
image.png
正在上传…重新上传取消
image.png
9.4.3 post请求
- 提交form表单,如图所示
接口:https://www.wanandroid.com/user/login
方法:POST
参数:username,password
post请求的参数信息在Body中添加 form表单提交需要选中x-www-form-urlencoded 请求头添加和get请求相同,在Headers中添加正在上传…重新上传取消
image.png
正在上传…重新上传取消
image.png
-
json提交
下图中,当我们选择JSON(application/json) 是会自动帮我们设置 headers 为 application/json
在这里就不截图 举例了正在上传…重新上传取消
image.png
-
xml提交
正在上传…重新上传取消
image.png
-
二进制文件提交
正在上传…重新上传取消
image.png
其它请求方式如PUT,DELETE 大致流程和GET,POST 差不多,这里就不一一举例说明了。
9.5 Pre-request Script--预处理脚本
Pre-request Script,翻译中文为预处理脚本,是请求发送之前需要执行的代码片段,在我们点击send发起请求之前,改区域的代码先执行。
使用场景:例如请求中包含一个随机数或者时间戳(时间的毫秒值),或者参数需要加密。
-
给一个接口添加预处理脚本:新建一个网络请求,点击Pre-request Script,写入js脚本获取时间的毫秒值(时间戳)
正在上传…重新上传取消
image.png
2.给接口集添加预处理脚本:如图所示,完成后以后接口集下面所有接口在请求的时候都会先执行预请求脚本
正在上传…重新上传取消
image.png
在输入框右侧有一些简单的js脚本生成按钮,可以通过按钮生成
9.6 Tests内置脚本
既然有在请求发起之前执行的脚本,那么是否有在请求完成之后执行的脚本呢? 有
Tests里面输入的脚本就是在网络请求之后执行的,Postman的强大之处在于其允许在对某一个request访问的之前和之后分别运行自定义的一段Javascript脚本,这样直接就完成了一个chain request效果,可以将数条request连结成一个流程完成一体化测试。
如下在Pre-request Script和Tests中分别输入了js代码,执行如下如所示:
正在上传…重新上传取消
image.png
9.7 命令行运行接口结合
9.7.1 命令行运行
执行命令行前提条件是需要newman,newman是需要nodejs来安装的,所以得先下载安装
node.node下载地址:https://nodejs.org/en/download/
cmd模式下输入node -v,回车,显示node版本号,即为安装成功 npm(node package manager):nodejs的包管理器,用于node插件管理(包括安装、卸载、管理依赖 等)cnpm:淘宝团队的cnpm是npm在国内的镜像,可以用此代替官方版本(只读),同步频率目前为 10分钟 一次 以保证尽量与官方服务同步。 安装完后查看版本cnpm -v 安装newman:cnpm install newman --global 检查是否安装成功:newman -v 安装newman-reporter-html 执行cnpm install -g newman-reporter-html 在测试文件夹 pmtest 里面可以看到生成的一个 newman 文件夹,打开就可以看到生成的测试报告。
9.8 环境变量的使用
9.8.1 Postman 环境变量的应用
点击眼睛图标可以查看所有的环境变量和全局变量。点击眼睛图标右边的设置图标可以设置环境变量和全局变 量。环境变量可以分组设置,并且在使用的时候选择其中一组环境变量。 使用环境变量 {{baseUrl}} 两边各量 个花括号括起来 这个环境变量可以在url 中使用,也可以在header 中能使用,还能在请求体中使用
选中No Environment(选中已有环境就变成编辑了)--> 点击眼睛-->点击Add
正在上传…重新上传取消
image.png
正在上传…重新上传取消
image.png
- 案例:新建两个环境,都创建相同的环境变量baseUrl值使用不同的网址,新建请求,使用
{{baseUrl}},切换环境后,同一个请求访问到的页面不一样
9.9 全局变量的使用
9.9.1 Postman全局变量的应用
postman 的环境变量可以分组,但是全局变量不能分组,只能有一组全局变量,在设置和使用都类似于环境 变量。在下图位置设置全局变量。
点击右上角眼睛 --> 点击Globals右边的Edit,添加全局变量,点击save保存,和环境变量一样,通过{{timestamp}}引用
正在上传…重新上传取消
image.png
正在上传…重新上传取消
image.png
- 案例:添加时间戳
正在上传…重新上传取消