当前位置: 首页 > article >正文

学习postman工具使用

学习postman工具使用

文章目录

  • 学习postman工具使用
    • 一、功能简介
      • 1.界面导航说明
      • 2.发送一个请求
    • 二、postman基础功能
      • 1.常见类型的接口请求
        • 1.1查询参数的接口请求
          • 什么是查询参数
          • 如何请求
            • 具体步骤:
        • 1.2表单类型的接口请求
          • 什么是表单
          • 如何请求
            • 具体实现步骤:
        • 1.3上传文件的表单请求
          • 如何请求
            • 具体实现步骤
        • 1.4json类型的接口请求
          • 如何请求
            • 具体实现步骤
      • 2.接口响应数据解析
      • 3.接口管理(COllection)
        • Collection:
        • 具体实现步骤:
      • 4.批量执行接口请求
          • 实现步骤:
      • 5.日志调试
        • 如何查看:
        • 功能:
      • 6.断言
      • 7.变量(全局/集合/环境)
        • 三种变量:
        • 使用变量中的值只需要两个步骤:
          • 具体实现:
            • 1.定义变量:
            • 2.获取变量
            • 3.清除变量
      • 8.请求前置脚本
        • 案例:
      • 9.接口关联
        • 实现思路:
        • 案例:
      • 10.常见返回值获取
        • 案例1:多层json嵌套, 获取user_id的值
        • 案例2:json中存在列表,获取points中的第二个元素
        • 案例3:列表中取最后一个元素
    • 三、postman便捷功能
      • 1.快速填写查询参数
        • 1.1、从浏览器拷贝查询参数
        • 1.2、从抓包工具中拷贝查询参数(以fiddler为例)
      • 2.快速填写请求头
        • 2.1从其他请求拷贝粘贴
          • 具体操作步骤:
        • 2.2预置(保存)公共请求
          • 具体操作步骤:
        • 2.3从浏览器或者抓包工具中拷贝
      • 3.快速实现添加一个请求
        • 3.1从抓包工具中导入请求 ;
        • 3.2从浏览器中导入请求 ;
        • 3.3直接导入别人postman中写好的请求 。
      • 4.如何继承集合认证
        • 功能的具体位置及主要主要作用
        • 具体实现步骤:
      • 5.批量断言
      • 6.快速查询和替换
        • **功能介绍:**
    • 四、高级功能
      • 1.mock服务
        • 1.1创建mock服务器
          • 1.1.1具体创建步骤:
        • 1.1.2面板中创建
        • 1.2创建mock请求
          • 具体步骤:
      • 更多高级功能参考:
    • 五、参考博客:

一、功能简介

在这里插入图片描述

1.界面导航说明

在这里插入图片描述

2.发送一个请求

  • 打开postman,点击+加号打开一个新的请求页。
  • 在请求的URL中输入请求地址:http://www.weather.com.cn/data/sk/101010100.html
  • 点击Send按钮,这时就可以在下部的窗格中看到来自服务器的json响应数据。

在这里插入图片描述

二、postman基础功能

1.常见类型的接口请求

​ 常见的接口有如下四种类型:

  • 含有查询参数的接口
  • 表单类型的接口
  • json类型的接口
  • 含有上传文件的接口
1.1查询参数的接口请求
什么是查询参数

​ 查询参数就是URL地址中问号(?)后面的部分就叫查询参数。例如:http://cx.shouji.360.cn/phonearea.php?number=13012345678 。在这个接口中,查询参数就是:number=13012345678 。而这一部分是由有键值对组成,格式为:key1=value1&key2=value2, 如果有多组键值对,要用&隔开 。

如何请求

​ 一般就需要明确两个参数即可:

  • 请求方法
  • 请求地址

​ 针对上面的那个接口,地址已经给出 ,而它的请求方法是get 。那么在postman中只需要把这俩个参数填写上即可请求 。

具体步骤:
  1. 打开postman,新建一个请求。
  2. 在请求方法中选择请求方法:GET。
  3. 接口URL中输入地址,点击Send按钮就可以发送请求了 。

在这里插入图片描述

1.2表单类型的接口请求
什么是表单

​ 在发送HTTP请求时,一个请求中一般包含:请求行,请求头,请求体。

​ 不同的接口,请求体的数据类型是不一样的,比较常见的一种就是表单类型。简单理解表单类型就是在请求头中查看Content-Type,它的值如果是:****:application/x-www-form-urlencoded 。那么就说明客户端提交的数据是以表单形式提交的。

在这里插入图片描述

如何请求

​ 若要请求如上图一类的接口,我们只需填写四个参数:

  • 请求方法:POST
  • 请求URL:http://localhost/index.php?m=Home&c=User&a=do_login&t=0.21942974229794432
  • 请求头:Content-Type:application/x-www-form-urlencode
  • 请求体:username=13088888888&password=123456&verify_code=8888
具体实现步骤:
  1. 在postman中新建一个请求
  2. 在请求中设置以上四个参数,点击Send按钮。在postman中设置请求体类型为,需要选择body-> x-www-form-urlencoded
  3. 查看响应数据。

在这里插入图片描述

1.3上传文件的表单请求

​ 在做接口测试时,我们经常会遇到需要上传文件的接口,比如微信的更新头像。这就需要用到:multipart/form-data。它也属于一种表单,但它既支持表单请求,也支持文件上传。 它的请求报文中数据往往是下面这样的。

POST http://localhost/index.php/home/Uploadify/imageUp/savepath/head_pic/pictitle/banner/dir/images.html HTTP/1.1
Content-Type: multipart/form-data

file=a1.jpg
如何请求
  • 请求方法:POST
  • 请求URL:http://localhost/index.php/home/Uploadify/imageUp/savepath/head_pic/pictitle/banner/dir/images.html
  • 请求类型:multipart/form-data
  • 请求体:file=a1.jpg
具体实现步骤
  1. 新建一个请求
  2. 在请求中设置以上四个参数,点击Send按钮。注意:在postman中设置请求体类型,需要选择body-> form-data 。file中要选择File类型,然后上传本地的文件
  3. 查看响应数据

在这里插入图片描述

1.4json类型的接口请求

​ 这应该是接口测试中最常见的一种情况了 , 也就是请求体类型为json,我们来看下这个请求报文 。

POST http://xxx/api/sys/login HTTP/1.1
Content-Type: application/json;charset=UTF-8

{"account":"root","password":"123456"}
如何请求
  • 请求方法:POST
  • 请求URL:http://xxx/api/sys/login
  • 请求体类型:json
  • 请求体数据:{“account”:“root”,“password”:“123456”}
具体实现步骤
  1. 新建一个请求
  2. 设置如上参数,点击send按钮。注意:在postman中设置请求体类型,需要选择body-> raw -JSON
  3. 查看响应数据

在这里插入图片描述

2.接口响应数据解析

​ 响应数据是发送请求之后经过服务器处理后返回的结果,响应由状态行、响应头、响应头、响应体组成。

在这里插入图片描述

​ 在如上图展示的数据中:

  • 状态行:Status:200OK
  • 响应头:Header+Cookies
  • 响应体:Body
  • Test Results 是我们编写断言后,可以查看断言的执行结果
  • Time 和Size 是我们做性能测试时,可以根据这两个参数来对所测接口的性能做一个简单的判断

​ 其次再来关注下Body中的几个显示主题:Pretty,Raw,Preview

在这里插入图片描述

  • Pretty:翻译成中文就是漂亮 , 也就是说返回的Body数据在这个标签中查看 ,都是经过格式化的,格式化后的数据看起来更加直观,所以postman默认展示的也是这个选项。比如返回html页面,它会经过格式化成HTML格式后展示,比如返回json,那么也会格式化成json格式展示 。
  • Raw:翻译成中文未经过加工的,也就是原始数据 ,原始数据一般都是本文格式的,未经过格式化处理的,一般在抓包工具中都有这个选项 。
  • Preview:翻译成中文就是预览,这个选项一般对返回HTML的页面效果特别明显,如请求百度后返回结果,点击这个选项后就直接能查看到的页面 ,如下图 。同时这个选项和浏览器抓包中的Preview也是一样的 。

在这里插入图片描述

3.接口管理(COllection)

Collection:
  • 用例分类管理,方便后期维护
  • 可进行批量用例回归测试
具体实现步骤:
  1. 点击Collection,点击+New Collection,在弹出的输入框中输入Collection名称(这个就可以理解为所测试的系统)

    在这里插入图片描述

  2. 选中新建的Collection右键,点击Add Folder ,在弹出对话框中输入文件夹名称(这个就可以理解为系统中的模块)

    在这里插入图片描述

  3. 选中新建的Folder,点击Add Request ,在弹出的对话框中输入请求名称,这个就是我们所测试的接口,也可以理解为测试用例 。

    在这里插入图片描述

  4. 那么通过以上三个步骤,达到的效果就是如图所示:

    在这里插入图片描述

4.批量执行接口请求

实现步骤:
  1. 选中一个Collection,点击右三角,在弹出的界面点击RUN

在这里插入图片描述

  1. 这时会弹出一个叫Collection Runner的界面,默认会把Collection中的所有用例选中 。

    在这里插入图片描述

  2. 点击界面下方的RUN Collection,就会对Collection中选中的所有测试用例运行 。

    在这里插入图片描述

简单说明:

  • **断言统计:**Passed和Failed的结果都是0,这是统计的当前Collection中断言成功的执行数和失败的执行数,如果没有编写断言默认都为0
  • **View Summary:**运行结果总览,点击它可以看到每个请求中具体的测试断言详细信息
  • **Export Result:**导出运行结果,默认导出的结果json文件
  • **Run Again:**重新运行,点击它会把该Collection重新运行一遍
  • New Run:返回到Runner,可以重新选择用例的组合

5.日志调试

​ postman允许我们在脚本中编写打印语句,查看打印的结果;同时也可以查看每个请求的日志信息。

​ 在postman中编写日志打印语句使用的是JavaScript,编写的位置可以是Script标签中的Pre- request和Post-response。

  • Pre-request:在请求前执行。比如在发送一个需要认证的请求之前,你可以在pre-request脚本中获取认证信息(如获取用户的登录 token),然后将其添加到请求中,以便后续请求能够顺利通过认证。常用于数据预处理、参数设置、环境变量设置等操作,为请求的发送做好准备。例如,如果请求参数中需要包含一个随机数、时间戳或者对某些参数进行加密等操作,都可以在pre-request脚本中完成。重点关注如何准备好请求所需的数据和参数,确保请求能够正确发送。
  • Post-response:在请求发送并得到响应之后执行。当接口返回数据后,可以在post-response脚本中对响应数据进行处理、验证或提取关键信息,用于后续的测试或其他操作。主要用于对响应数据进行断言、提取数据、处理解密等操作。比如,对接口返回的状态码、响应体中的特定字段进行验证,以确保接口返回的数据符合预期;或者从响应体中提取出需要的数据,保存到环境变量或全局变量中,以便后续的请求可以使用。重点关注如何对响应数据进行分析和处理,以验证接口的正确性或获取有用的信息。

在Post-response中编写打印语句如:console.log(“我是一条日志”)

在这里插入图片描述

如何查看:
  • 方法一:点击菜单栏的view—>Show postman console

    在这里插入图片描述

  • 方法二:左下角第三个图标:Console

在这里插入图片描述

  • 打开日志界面

    在这里插入图片描述

功能:
  • 搜索日志:输入URL或者打印的日志就能直接搜索出我们想要的请求和日志,这对我们在众多日志中查找某一条日志是非常方便的 。
  • 按级别搜索:可以查询log,info,warning,error级别的日志 ,有助于我们更快定位到错误 。
  • 查看原始报文(Show raw log):如果习惯看原始请求报文的话,这个功能可能更方便些 。
  • 隐藏请求(Hide network):把请求都隐藏掉,只查看输出日志 。

6.断言

  • 编写位置:Scripts->Post-response
  • 所用语言:JavaScript
  • 执行顺序:在响应体数据返回后执行
  • 执行结果查看:TestResults

如果不会写断言也不需要担心,postman已经内置了一些常用的断言。用的时候,只需要从右侧点击其中一个断言,就会在文本狂中自动生成对应断言代码块。

在这里插入图片描述

红色框住的部分是postman内置的断言功能,使用时点击对应的断言就可以自动生成到文本框中。

  1. 状态行中的断言:

    1. 断言状态码:Status code: code is 200

      pm.test("Status code is 200", function () {
          pm.response.to.have.status(200);        //这里填写的200是预期结果,实际结果是请求返回结果
      });
      
    2. 断言状态消息:Status code:code name has string

      pm.test("Status code name has string", function () {
          pm.response.to.have.status("OK");   //断言响应状态消息包含OK
      });
      
  2. 响应头中的断言

    1. 断言响应头中包含:Response headers:Content-Type header check

      pm.test("Content-Type is present", function () {
          pm.response.to.have.header("Content-Type"); //断言响应头存在"Content-Type"
      });
      
  3. 断言响应体(重点)

    1. 断言响应体中包含XXX字符串:Response body:Contains string

      pm.test("Body matches string", function () {
          pm.expect(pm.response.text()).to.include("string_you_want_to_search");
      });     
      //注解
      pm.expect(pm.response.text()).to.include("string");  
      
    2. 断言响应体等于XXX字符串:Response body : is equal to a string

      pm.test("Body is correct", function () {
          pm.response.to.have.body("response_body_string");
      });
      //注解
      pm.response.to.have.body("response_body_string");  
      
    3. 断言响应体(json)中某个键名对应的值:Response body : JSON value check

      pm.test("Your test name", function () {
          var jsonData = pm.response.json();
          pm.expect(jsonData.value).to.eql(100);
      });
      //注解
      var jsonData = pm.response.json();   //获取响应体,以json显示,赋值给jsonData .注意:该响应体必须返会是的json,否则会报错
      pm.expect(jsonData.value).to.eql(100);  //获取jsonData中键名为value的值,然后和100进行比较
      
  4. 响应时间(一般用于性能测试)

    1. 断言响应时间:Response time is less than 200ms

      pm.test("Response time is less than 200ms", function () {
          pm.expect(pm.response.responseTime).to.be.below(200);   //断言响应时间<200ms
      });
      

7.变量(全局/集合/环境)

​ 变量可以使我们在请求或脚本中存储和重复使用其值,通过将值保存在变量中,可以在集合,环境或请求中引用。

三种变量:
  • **全局变量:**一旦申明了全局变量,全局有效,也就是说postman中的任何集合,任何请求中都可以使用这个变量。它的作用域是最大的 。
  • **环境变量:**要申明环境变量,首先的创建环境,然后在环境中才能创建变量 。如果要想使用环境变量,必须先选择(导入)这个环境,这样就可以使用这个环境下的变量了 。需要说明的是环境也可以创建多个 。每个环境下又可以有多个变量 。
  • **集合变量:**集合变量是针对集合的,也就是说申明的变量必须基于某个集合,它的使用范围也只是针对这个集合有效 。
  • 作用域范围依次从大到小:全局>集合>环境。当在几个不同的范围内都申明了相同的变量时,则会优先使用范围最小的变量。
使用变量中的值只需要两个步骤:
  • 定义变量(设置变量)
  • 获取变量(访问变量)
具体实现:
1.定义变量:
  • 定义全局变量

    • 点击左侧的Environments图标,再点击Globals进入全 局变量管理界面;

      在这里插入图片描述

    • 然后在要使用环境变量的地方使用{{全局变量名}}替换静态的固定值。

      在这里插入图片描述

  • 定义环境变量

    • 点击左侧的Environments图标,点击+,在页面中设置环境 信息

      在这里插入图片描述

    • 然后在需要使用环境变量的地方使用{{环境变量名}}替换静态的固定值;

      在这里插入图片描述

    • 设置好后,在右上角的下拉框可以下拉来切换环境。

      在这里插入图片描述

  • 定义集合变量

    • 选择一个集合,打开查看更多动作()菜单,然后点击编辑 。选择“变量”选项卡以编辑或添加到集合变量。

      在这里插入图片描述

​ 定义变量除了以上方式,还有另外一种方式 。但是这种方式在不同的位置定义,编写不一样。

  • 在URL,Params , Authorization , Headers , Body中定义:

    • 手工方式创建一个空的变量名

    • 在以上的位置把想要的值选中右击,选中Set:环境|全局 ,选中一个变量名,点击后就会保存到这个变量中

      在这里插入图片描述

  • 在Scripts中,Pre-requests Script:

    • 定义全局变量:pm.globals.set(“变量名”,变量值)
    • 定义环境变量:pm.environment.set(“变量名”,变量值)
    • 定义集合变量:pm.collectionVariables.set(“变量名”,变量值)
2.获取变量

​ 定义好变量,接下来就可以使用变量了 。需要注意的是,在不同的位置获取变量,编写的规则也是不一样的 。

​ 如果在请求参数中获取变量,无论是获取全局变量,还是环境变量,还是集合变量,获取的方式都是一样的编写规则:{{变量名}} 。

  • 请求参数指的是:URL,Params , Authorization , Headers , Body

​ 如果是在编写代码的位置(Scripts->Pre-requests Script)获取变量,获取不同类型的变量,编写的代码都不相同,具体如下:

  • 获取环境变量:pm.environment.get(‘变量名’)
  • 获取全局变量:pm.globals.get(‘变量名’)
  • 获取集合变量:pm.pm.collectionVariables.get.get(‘变量名’)

在这里插入图片描述

3.清除变量

​ 参考博客:https://blog.csdn.net/weixin_54312661/article/details/140352699

8.请求前置脚本

​ 前置脚本其实就是在Pre-requests Script中编写的JavaScript脚本,想要了解这个功能,需要先了解它的执行顺序。那么下面就来看下它的执行顺序 。

​ 可以看出,一个请求在发送之前,会先去执行Pre Request Script(前置脚本)中的代码 。那么这个功能在实际工作中有什么作用呢 ?

​ 主要场景:一般情况下,在发送请求前需要对接口的数据做进一步处理,就都可以使用这个功能,比如说,登录接口的密码,在发送前需要做加密处理,那么就可以在前置脚本中做加密处理,再比如说,有的接口的输入参数有一些随机数,每请求一次接口参数值都会发送变化,就可以在前置脚本中编写生成随机数的代码 。总体来说,就是在请求接口之前对我们的请求数据进行进一步加工处理的都可以使用前置脚本这个功能。

案例:
  • 请求的登陆接口URL,参数t的值要求的规则是每次请求都必须是一个随机数。

  • 接口地址:http://localhost/index.php?m=Home&c=User&a=do_login&t=0.7102045930338428

    在这里插入图片描述

  • 实现步骤:

    • 在前置脚本中编写生成随机数

    • 将这个值保存成环境变量

    • 将参数t的值替换成环境变量的值 。

      在这里插入图片描述

9.接口关联

​ 在我们测试的接口中,经常出现这种情况 。 上一个接口的返回数据是下一个接口的输入参数 ,那么这俩个接口就产生了关联。

实现思路:
  1. 提取上一个接口的返回数据值,
  2. 将这个数据值保存到环境变量或全局变量中
  3. 在下一个接口获取环境变量或全局变量
案例:
  • 用户上传头像功能,需要用户先上传一张图片,然后会自动预览 。那么在这个过程中,会调用到俩个接口 ,第一个上传头像接口,第二个预览图像接口 。

  • 其中调用上传头像接口成功后会返回如下信息:

    {
        "url": "/public/upload/user//head_pic//ba51d1c2f7f7b98dfb5cad90846e2d79.jpg",
        "title": "banner",
        "original": "",
        "state": "SUCCESS",
        "path": "images"
    }
    
  • 而图像预览接口URL为:http://localhost/public/upload/user//head_pic//ba51d1c2f7f7b98dfb5cad90846e2d79.jpg 。可以看出这个接口的URL后半部分其实是上一个接口返回的url的值 。那么这俩个接口就产生了关联。那么在postman 可以通过以下三步完成这俩个接口的关联实现 。

    • 实现步骤:
      • 获取上传头像接口返回url的值
      • 将这个值保存成全局变量(环境变量也可以)
      • 在图像预览中使用全局变量

    在这里插入图片描述

10.常见返回值获取

案例1:多层json嵌套, 获取user_id的值
{
    "code": 0,
    "message": "请求成功!",
    "data": {
        "user_id": "1252163151781167104"
    }
}
//获取json体数据
var jsonData = pm.response.json();
//获取user_id的值,通过.获取
var user_id = jsonData.data.user_id;
案例2:json中存在列表,获取points中的第二个元素
{
    "code": 0,
    "message": "请求成功!",
    "data": {
        "roles": {
            "api": [
                "API-USER-DELETE"
            ],
            "points": [
                "point-user-delete",
                "POINT-USER-UPDATE",
                "POINT-USER-ADD"
            ]
        },
        "authCache": null
    }
}
//获取json体数据
var jsonData = pm.response.json();
//获取数据,也是通过.获取
var user_update = jsonData.data.roles.points[1];
案例3:列表中取最后一个元素
{
    "code": 0,
    "message": "请求成功!",
    "data": {
        "total": 24,
        "rows": [
           
            {
                "id": "1066370498633486336",
                "mobile": "15812340003",
                "username": "zbz"
            },
            {
                "id": "1071632760222810112",
                "mobile": "16612094236",
                "username": "llx"
            },
            ...
            {
                "id": "1075383133106425856",
                "mobile": "13523679872",
                "username": "test001",
       
            },
//获取json数据体
var jsonData = pm.response.json();
//获取id的值,通过slice(-1)获取列表中最后一个元素
var id = jsonData.data.rows.slice(-1)[0];

三、postman便捷功能

1.快速填写查询参数

​ 查询参数见上文,此处只说明填写查询参数的地方就是Params
在这里插入图片描述

​ 有时候我们要填写的参数比较多,且每个参数都是按照key-value形式填写完成,但是这样填写起来费时费力。那是否有更加省事的填写方式? 答案肯定是有的 ,我们可以想象我们的这些请求都可以通过浏览器或抓包工具抓取到 。那么我们就可以直接将浏览器或抓包工具的请求参数直接拷贝进来 ,下面就介绍如何从浏览器和抓包工具中拷贝参数。

1.1、从浏览器拷贝查询参数
  • 首先在浏览器通过F12找到你要抓取的请求

  • 在Headers的最下端找到Form Data .

    在这里插入图片描述

  • 然后打开postman,在Params 中点击Bulk Edit

    在这里插入图片描述

  • 直接将拷贝的内容粘贴进来即可

    在这里插入图片描述

1.2、从抓包工具中拷贝查询参数(以fiddler为例)
  • 打开Fiddler,找到你要抓取的数据包

  • 选择Raw,直接拷贝请求URL或者拷贝查询参数

    在这里插入图片描述

  • 直接粘贴到地址栏或者查询参数中即可 。

2.快速填写请求头

​ 在我们做接口测试时,几乎每个接口都要填写headers,而且headers里的参数多是公共参数,也就是说每个接口都需要填写这些一样的参数 。常规操作也是在每个headers中按照key-value形式逐个填写完成,但是这样填写起来费时费力。接下来就介绍三种快捷设置headers 。

2.1从其他请求拷贝粘贴

​ 若我们要在headers中填写的参数在其他请求headers中设置过,那么就可 以直接从其他请求中拷贝。

具体操作步骤:
  • 进入已设置过的请求headers中,鼠标长按选择一个或多个请求,当出现灰色的横条,按Command+c 。

  • 回到当前要设置的请求中,Command+v.这样就会把上一个请求中的headers拷贝到当前请求 。

在这里插入图片描述

2.2预置(保存)公共请求
具体操作步骤:
  • 点击Headers选项框中的Presets(最右侧),点击Manage Presets .

  • 在弹出的对话框,点击Add。

  • 在弹出的对话框中,把常用的key-value录入,并给它起个名字。点击add即可。

  • 其他请求使用的时候,直接点击Presets ,选择刚才设置的名字,就会自动把对应的参数设置上 。

    在这里插入图片描述

2.3从浏览器或者抓包工具中拷贝

​ 以上两种方法设置都只对公共参数有效。针对每个请求的唯一参数是无效 的。这种方法是针对任何参数的。

具体步骤跟1.1和1.2一样。

3.快速实现添加一个请求

​ 正常情况下,我们添加一个请求需要打开一个窗口,选择请求方法,地址,以及相对应的参数 。如果请求过多,难免会觉得添加起来麻烦,那么在postman给我们提供一个导入功能,它可以导入相关的请求 。比较常用的是如下这三种,分别是:

3.1从抓包工具中导入请求 ;
  • 在浏览器中抓取到想要的包,然后右键copy出Curl的数据包

  • 在postman的import中将数据粘贴进来,就会自动生成了对应的请求 。

    在这里插入图片描述

    在这里插入图片描述

    ​ 下面的这个截图是从接口文档swagger,将这个数据包拷贝粘贴到上面的文本中(Paste Raw Text) 也可以自动生成请求 。

    在这里插入图片描述

3.2从浏览器中导入请求 ;
  • 在浏览器中抓取到想要的包,然后右键copy出Curl的数据包

    在这里插入图片描述

  • 在postman的import中将数据粘贴进来,就会自动生成了对应的请求 。

    在这里插入图片描述

3.3直接导入别人postman中写好的请求 。
  • 将已经写好请求所在的集合,点击分享

    在这里插入图片描述

  • 在弹出的界面点击Via API,复制红色框住部分

    在这里插入图片描述

  • 然后import粘贴刚刚复制的链接

    在这里插入图片描述

4.如何继承集合认证

​ 这又是一个非常实用的功能,对我们做接口测试来说,经常要处理登录认证的情况 。如果不用这个Authorization其实也能解决认证的问题,无非就是把要认证的数据按照要求在指定位置传入参数即可。比如我们之前测试的系统,登录后返回的token要在每个请求接口的headers中传入 。这时就需要在每个headers中都填写一个认证参数传入 ,但是这样做的话太过繁琐,如果使用认证(Authorization)功能的话,就会大大简化了我们的认证过程。

功能的具体位置及主要主要作用

在这里插入图片描述

​ Inherit auto from parent:从父级继承身份验证,是每个请求的默认选择 。这是一个很有用的功能,当我们对一个集合(collection)进行测试的时候,集合中的每个请求都需要获取token,那么如果我们在集合中把token处理好的话,那么该集合下的所有请求都会自动获取到这个token,也就省略了我们对每个token进行处理了。

具体实现步骤:
  • 选中一个集合进行编辑,切换到Pre-Request Script.在这里请求登录接口 ,将返回的token值拿到,然后保存成全局变量 。

  • 切换到Authorization选项卡,在这里直接获取token 。这里的获取token需要根据具体的项目 。比如我们所测试的项目正好是Bearer token这种形式 。直接在列表中使用这种方式输入{{token}}即可。

  • 向集合添加请求,无需进行token处理,所有接口都能请求成功 。

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

  • No Auth: 无需身份认证的可以选择这个 。

  • API Key: 也有很多系统是通过这种认证方式,比如在请求头添加 model: data xxx-xxx-xxx-xxxx

    在这里插入图片描述

  • Bearer Token:很多系统都是以这种认证方式,就是在请求头中添加Authorization:Bearer Token 。那么使用这种认证就完全等同于在Headers中添加Authorization参数 。

    在这里插入图片描述

  • 通过在集合中完成登录认证

    • 参考博客:https://www.toutiao.com/article/6915675572198851075/?group_id=6915675572198851075

5.批量断言

​ 具体实现步骤:参考博客:https://blog.csdn.net/xiangxi1204/article/details/139125924

6.快速查询和替换

在这里插入图片描述

功能介绍:
  • FIND:搜索输入框,在搜索框中输入你想要搜索的值,postman自动会在已打开的请求,集合,环境变量,全局变量中去搜索,如果搜索到,就会在右侧展示出搜素的结果 。其下方有两个复选框,分别是Regex(正则匹配)和Ignore Case(忽略大小写)。
  • WHERE:带条件查询,默认会选择everything(查询所有),如果想要选择某一个tab搜索,从下面选择即可,可以支持从集合、环境变量、全局变量以及以打开的请求中搜索 。
  • REPLACE WITH: 替换文本框,在此文本框中输入替换的值,点击Replace in … 按钮,会将搜索出的值全部替换 。
  • 右侧的搜索结果:搜索出对应的结果后,右侧每个tab中都会显示具体的数字,代表当前tab中匹配值的数量。你可以选择一个值点击Open,就会直接进入到对应的功能选项卡中 。

具体步骤参考博客:https://blog.csdn.net/xiangxi1204/article/details/139125924

四、高级功能

1.mock服务

​ 正常情况下,前端需要调用后端的接口才能完成一个完整的功能实现,但由于后端接口交付的延迟,严重影响了工作效率,这时,为了减少对后端接口的依赖,前端开发人员会创建一个 Mock 服务器,以模拟每个请求对应的响应。

​ Postman 支持创建 Mock 服务器。

1.1创建mock服务器
  • 在 Postman 中最常见的创建 Mock 服务的方式有两种:通过 New 窗口创建和在运行面板中
1.1.1具体创建步骤:
  • 点击 Mock Servers,点击+。
  • 需要为即将要创建的 Mock Server, 从已有的集合中为其选择某个集合,也可以基于创建的 Mock Server 重新创建一个集合。
  • 选择对应的 Mock 名称、环境等,然后,点击 Create Mock Server。

在这里插入图片描述

在这里插入图片描述

1.1.2面板中创建
  • 选择集合,点击右边…,在弹出的面板中选择 Mock Collection。

  • 在弹出的界面中输入 mock server name、tag、environment,然后点击Create mock server,即可完成创建。

    在这里插入图片描述

    在这里插入图片描述

1.2创建mock请求

​ 上文我们提到过,接口若不能准时提供给前端人员,就需要模拟对应的接口,但是模拟接口前,先要确定好接口的请求方法、请求路径、返回状态码以及响应数据。至于请求传递的参数则无需关注。所以,无论通过何种工具去模拟,至少需要用到以上几个参数。那么,通过 Postman 模拟请求,就需要用到 example。

在这里插入图片描述

具体步骤:
  • 选择一个请求,发送请求通过后,点击 Save Response 中的 Save as example。

  • 这时,会自动弹出一个 tab 页,这个页面其实就是 Postman 的 example,也就是接下来要说的模拟请求。

  • 在弹出的 example 页面,需要将请求方法、请求路径、响应状态码以及相应的数据填写好,然后点击右上角的 Save Example。

  • 保存成功后,就能在右上角看到要保存的 example 了。

  • 以上步骤相当于创建好了一个模拟请求,接下来就可以通过工具请求这个example(模拟请求)了。在 Postman 打开一个新的 tab 页,请求方法填写保存好的example 的方法,请求地址要填写 Mock 服务器地址+请求路径,点击 Send,就会将预期结果返回。

    在这里插入图片描述

更多高级功能参考:

  • 部分高级功能:https://blog.csdn.net/weixin_45428910/article/details/142927097
  • 全部高级功能都有:https://www.toutiao.com/article/6916875259136475661/

五、参考博客:

  • 基础篇:https://www.toutiao.com/article/6913538714060800515/?group_id=6913538714060800515
    • 清除变量:https://blog.csdn.net/weixin_54312661/article/details/140352699
  • 便捷功能篇:https://www.toutiao.com/article/6915675572198851075/?group_id=6915675572198851075
  • 高级篇:
    • https://blog.csdn.net/weixin_45428910/article/details/142927097
    • https://www.toutiao.com/article/6916875259136475661/

http://www.kler.cn/a/452157.html

相关文章:

  • 【更新】Docker新手入门教程2:在Windows系统通过compose创建多个mysql镜像并配置应用
  • 【Nginx系列】---Nginx配置tcp转发
  • 使用Python开发高级游戏:实现一个3D射击游戏
  • C++ 指针进阶:动态内存与复杂应用
  • 精准提升:从94.5%到99.4%——目标检测调优全纪录
  • Ubuntu22.04 LTS 安装nvidia显卡驱动
  • 头歌-机器学习在 NLP 中的实战
  • Github 2024-12-25C开源项目日报 Top8
  • HTTP 协议、AJAX - 异步网络请求及跨域、同源策略
  • LabVIEW软件项目设计方案如何制定
  • 构建专属AI知识库:Obsidian Copilot + 硅基流动SiliconCloud API 实战指南
  • 汽车消费新旺季到来,联众优车年末冲刺把好服务关
  • 静态断言(Static Assertions)在 C++ 中的使用
  • PHP爬虫类的并发与多线程处理技巧
  • Sublime 安装 View in Browser 插件后,点击无反应的解决方法
  • linux命令中cp命令-rf与-a的差别
  • HTTP/2与HTTP1.X的对比及升级指南
  • win11+matlab2021a配置C-COT
  • 全国青少年信息学奥林匹克竞赛(信奥赛)备考实战之分支结构(实战训练三)
  • MySQL HA 方案 MMM、MHA、MGR、PXC 对比
  • Hive SQL 窗口函数 `ROW_NUMBER() ` 案例分析
  • PCA降维MATLAB代码解释及应用场景
  • 如何在 Ubuntu 22.04 上安装和使用 Composer
  • 《解锁分类神经网络预训练模型的奇妙世界》
  • uniapp input苹果中文键盘输入拼音直接切换输入焦点监听失效
  • 删除VSCode上 origin/分支名,但GitLab上实际上不存在的分支