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)构建结果

  • 相关阅读:
    KAFKA基础(四):Kafka架构深入(2)Kafka 生产者
    逆向工程,调试Hello World !程序(更新中)
    关于网络初级基础知识总结
    真!阿里P10整理的Java面试宝典,学了60%成功砍下了P8级Offer,真爽!
    【专升本计算机】甘肃省2020年专升本计算机测试题
    真!阿里P10整理的Java面试宝典,学了60%成功砍下了P8级Offer,真爽!
    python利用numpy存取文件
    泛在网技术考点整理
    [Python图像处理] 三十二.傅里叶变换(图像去噪)与霍夫变换(特征识别)万字详细总结
    汉诺塔问题
  • 原文地址:https://www.cnblogs.com/crystal1126/p/12800219.html
Copyright © 2011-2022 走看看