postman简单介绍
一、postman简介
Postman 是一款强大网页调试工具的客户端,postman为用户提供强大的 Web API & HTTP 请求调试功能。postman能够发送任何类型的HTTP 请求 (GET, HEAD, POST, PUT..),附带任何数量的参数+ headers,是一款非常实用的调试工具。
软件特色:
(1)支持各种的请求类型: get、post、put、patch、delete 等
(2)支持在线存储数据,通过账号就可以进行迁移数据
(3)很方便的支持请求 header 和请求参数的设置
(4)支持不同的认证机制,包括 Basic Auth,Digest Auth,OAuth 1.0,OAuth 2.0 等
(5)响应数据是自动按照语法格式高亮的,包括 HTML,JSON 和 XML
安装:
Postman的Window应用程序安装包,可以到Postman官方网站下载。
https://www.getpostman.com/apps
二、postman界面介绍
1)侧边栏
History:历史脚本
Collection:测试集合管理区域
New:可以创建request(请求)、Collection(集合)、Environment(环境变量)等。
2)请求配置区域
code:可以生成请求代码,支持python、java等语言。
3)响应展示区域
测试结果展示区域:
4)导入导出
导出数据包
导出环境变量
导入数据包
导入环境变量
5)发送get请求
6)发送post请求
请求类型:
form-data:
x-www-form-urlencoded
raw:
可以上传任意格式的文本,如text、json、xml、html等
binary:
相当于Content-Type:application/octet-stream,从字面意思得知,只可以上传二进制数据,通常用来上传文件,由于没有键值,所以,一次只能上传一个文件。
三、postman变量
1、全局变量(global variables):是指在所有的环境里变量值都是一样的,全局变量的作用域是所有请求。
2、集合变量(collection variables):针对集合设置的变量,只对集合内的请求有效。
3、环境变量(environment variables):指在不同环境下(如:生产环境/测试环境),同一个变量值随着环境的不同而变化。
4、本地变量(local variables):主要是针对单个URL请求设置的变量,作用域只是局限在请求范围内。
5、数据变量(data variables):通过导入外部数据文件(json/csv文件),来获取变量的数据。
环境变量与全局变量的添加与编辑
集合变量的添加与编辑
设置本地变量
变量的作用域与优先级
作用域:
作用域:
data<local<environment<collection<global
优先级:
data>local>environment>collection>global
变量的用法
/*pm.globals*/ pm.globals.has(variableName:String) //检测全局变量是否包含某个变量---返回布尔值 pm.globals.get(variableName:String) //获取全局变量中的某个值 pm.globals.set(variableName:String, variableValue:String) //为某个全局变量设置值 pm.globals.unset(variableName:String) //销毁某个全局变量 pm.globals.clear() //清除全局变量 pm.globals.toObject():function → Object //将全局变量转成一个对象的形式 /*pm.environment*/ 与globals一致 /*pm.variables/ pm.variables.has(variableName:String):function → Boolean pm.variables.get(variableName:String):function → * pm.variables.toObject():function → Object
动态变量
{$guid}}:生成一个v4风格的guid
{{$timestamp}}: 生成一个当前时间戳
{{$randomInt}}: 生成一个0-1000的随机数
更多参考:
https://learning.getpostman.com/docs/postman/scripts/postman_sandbox_api_reference/
四、postman脚本
Pre-request Script:预请求脚本是与在发送请求之前执行的代码片段。适合请求的参数化。
Test Script:请求结束并获取到响应数据之后执行的测试脚本。
脚本的执行顺序
脚本的位置
1)集合中的脚本
2)文件夹中的脚本
3)单个请求中的脚本
运行环境
预编译脚本和Test脚本都运行在沙箱(Sandbox)中,而沙箱就是postman内置的一个JavaScript运行环境。
pm对象-object
pm对象包含正在执行的脚本相关的所有信息,并允许访问正在发送的请求或接收的响应的副本。还允许获取和设置环境和全局变量。
pm.request-object
pm请求对象表示正在运行此脚本的请求。对于预请求脚本来说,这是将要发送的请求;而在测试脚本中,这是已发送请求的表示形式。
pm.request.url:请求的Url
pm.request.headers:请求头
pm.request.headers.add(headerName:String):增加请求头
pm.request.headers.delete(headerName:String):删除请求头
pm.response-object
在测试脚本中,pm.response对象包含与接收到的响应相关的所有信息。
pm.response.code:获取当前请求返回的状态码如200,404,500等
pm.response.headers:返回当前请求成功后的response的headers
pm.response.responseTime:获取此次请求的时间单位为ms
pm.response.text():以文本的方式获取响应里面的body的内容
pm.response.json():将body里面的内容解析为一个json对象
测试方法:
pm.test(testName:String, specFunction:Function):第二个方法中填写测试内容
断言
pm.expect(assertion:*):断言方法,此函数用于处理来自响应或变量的数据断言。
常用脚本
(1)检查状态码是否为200
(2)检查json类型响应的值
(3)检查响应体是否包含某字符串
(4)pm.sendrequest函数:允许异步发送http/https请求
只有url的请求
带参数的请求
脚本关联
关联指用前一个请求的返回值,作为后一个请求的参数。
token关联举例:
设置环境变量
使用环境变量作为参数
五、postman运行
集合可以使用特定的环境,作为一组请求一起运行。通过使用脚本,我们可以构建集成测试案例,在API请求之间传递数据,并构建反映实际API使用情况的工作流。
我们可以通过Postman应用程序中的“Collection runner”,或者通过命令行使用Postman’s Newman工具,或者通过Postman监视器来运行集合中的所有请求。
1)Runner运行
使用外部文件
2)monitor运行
配置:
运行结果
3)newman运行
Newman是postman的一个命令行运行者。它允许直接从命令行运行和测试postman集合。他是以可扩展性为基础构建的,因此可以轻松将其与持续集成服务器集成并构建系统。
Newman的安装
1、安装node.js
2、打开控制台,运行npm install -g newman
3、控制台输入newman -v,如下出现版本号表示安装成功
4、如果想生成html格式的测试报告,还需要安装 newman-reporter-html
npm install -g newman-reporter-html
Newman 执行脚本
命令行运行测试集合,cmd 进入到pmtest的json文件的目录下,输入指令
newman run postmanEcho.postman_collection.json(测试脚本) -e 运行环境 -d 测试数据 -r 测试结果报告格式(xml 、json、junit的xml,html)
配置jenkins集成
1)配置环境变量
2)创建项目
3)构建结果
posted on 2020-04-29 09:54 crystal1126 阅读(2758) 评论(0) 编辑 收藏 举报