zoukankan      html  css  js  c++  java
  • 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)构建结果

  • 相关阅读:
    C++中整型变量的存储大小和范围
    A1038 Recover the Smallest Number (30 分)
    A1067 Sort with Swap(0, i) (25 分)
    A1037 Magic Coupon (25 分)
    A1033 To Fill or Not to Fill (25 分)
    A1070 Mooncake (25 分)
    js 获取控件
    C#代码对SQL数据库添加表或者视图
    JS 动态操作表格
    jQuery取得下拉框选择的文本与值
  • 原文地址:https://www.cnblogs.com/crystal1126/p/12800219.html
Copyright © 2011-2022 走看看