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  阅读(2674)  评论(0编辑  收藏  举报

导航