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

接口测试 | Postman的高级用法的测试使用

Postman的高级用法

  • Postman用例间变量的传递
    • 全局变量和环境变量
      • 1. 设置变量
      • 2. 获取变量值
      • 3. Postman请求前置脚本
        • 案例1: 调用百度首页接口 传时间戳给服务器
      • 4. Postman关联
        • 实现步骤
        • 案例2: 请求获取天气接口,提取响应结果中的城市,将城市名给百度搜索接口使用
      • 5. 批量执行测试用例
      • 6. 生成测试报告
        • 1. 确保环境安装完成
        • 2. 导出用例测试级
        • 3. cmd使用命令执行测试生成报告
  • Postman读取外部数据文件(参数化)
    • 1. 外部数据文件类型
    • 2. 导入外部数据文件
      • csv文件
      • json文件
    • 3. 读取文件数据
      • 案例3: 批量查询手机号归属地、所属运营商,校验运膏商数据正确性
      • 带有外部数据文件的测试报告生成

部分测试网址已经失效,文章中已经标注,掌握原理使用!!!</font >

Postman用例间变量的传递

全局变量和环境变量

  1. 全局变量:全局变量是全局唯一的,不可重复定义的变量
  2. 环境变量:
    • 一个变量只能属于某个环境,在某一个环境中变量不可重复定义
    • 在环境与环境之间可以定义重复的变量
    • 一个环境可以包含多个环境变量
    • 常见环境分类:开发环境、测试环境、生产环境

在这里插入图片描述

1. 设置变量

  • 全局变量

    1. 手动设置 【UI操作】
    2. 代码设置 pm.globals.set("var_name",value)
  • 环境变量

    1. 手动设置

    2. 代码设置:pm.environment.set("var_name",value);

2. 获取变量值

  • 全局变量
    1. 请求参数中获取【UI界面】:{{ var_name }} 【两个大括号
    2. 代码中获取:var value = pm.globals.get("var name");

  • 环境变量

    1. 请求参数中获取【UI界面】:{{ var_name }}
    2. 代码中获取:var value=pm.environment.get("var_name");

3. Postman请求前置脚本

在这里插入图片描述

  • 什么是请求前置脚本?
    在 Postman 中,请求前置脚本(Pre-request Script) 是指在发送 API 请求之前自动执行的一段 JavaScript 代码,用于在请求发送前完成一些预处理操作,确保请求能按预期执行(比如动态生成参数、设置环境变量、处理依赖数据等)。
    简单说,它是请求的 “前置准备工具”—— 在请求真正发出前,帮你完成那些 “必须先做” 的事,避免手动操作的繁琐或错误
    第一时间被执行 在Postman内部实际http请求之前

在这里插入图片描述

  • 时间戳
    在这里插入图片描述
  • Pre-request Script【前置脚本】工作原理
    在这里插入图片描述
案例1: 调用百度首页接口 传时间戳给服务器
  1. 代码写到哪里?
    写入到Tests中是没有效果的,从断言那里了解到 Tests中的代码时服务器反馈到Postman中才会执行的代码
  2. Pre-request Script【前置脚本】
    在这里插入图片描述
  3. 如何验证全局变量是否设置成功?
    在第二部Pre-request Script 中编写代码后,点击Send 发送 并点击眼睛 查看变量
    在这里插入图片描述

在这里插入图片描述
4. 设置成功后,如何发送给服务器呢?
在这里插入图片描述
5. 如何验证时间戳真正的发送到服务器了呢?
在这里插入图片描述
在这里插入图片描述

4. Postman关联

介绍:应用于多个http请求之间,有数据关联、或依赖关系时

实现步骤

A接口依赖B接口的数据:

  1. 向B接口发送http请求,获取数据
  2. 将数据设置至全局变量(环境变量)中
  3. A接口获取全局变量(环境变量)中数据值,进行使用。

登录接口 --> 其他功能【添加员工、添加商品】

案例2: 请求获取天气接口,提取响应结果中的城市,将城市名给百度搜索接口使用
  1. 创建用例集 Collections
    在这里插入图片描述

  2. 请求获取天气的接口,http:Iwww.weather…com.cn/data/sk101010100.htm 【网址已经失效在这里插入图片描述
    在Tests中获取响应结果中的城市信息数据

var jsonData= pm.response.json()  // 获取响应结果 
var city = jsonData.weatherinfo.city  //获取字典中的城市pm.globals.set("glb_city",city)  //设置全局变量

如何写入全局变量呢? ---- > 点击 send 按钮 ,点击眼睛查看设置结果
在这里插入图片描述

  1. 百度接口的使用
    在这里插入图片描述
  • 为什么只能使用wd?
    在这里插入图片描述
  • 修改wd为全局变量
    在这里插入图片描述
    在这里插入图片描述

5. 批量执行测试用例

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

6. 生成测试报告

1. 确保环境安装完成

在这里插入图片描述
在这里插入图片描述

2. 导出用例测试级

在这里插入图片描述

3. cmd使用命令执行测试生成报告

步骤:

  1. 批量执行测试用例集。(确认无误)
  2. 导出Export用例集。(得到xxxx.json文件)
  3. 在终端中执行命令,生成测试报告
  • 使用全局变量
    在这里插入图片描述

如果添加-r html就报错!说明newman-reporter.-html安装失败!
在这里插入图片描述
在这里插入图片描述

  • 完整命令
    newman run xxxx.json -e 环境变量文件 -d 外部数据文件 -r html --reporter-html-export 测试报告名.html

Postman读取外部数据文件(参数化)

当http请求,使用的数据有较高相似度时,相同的请求时,考虑使用参数化(将数据组织到数据文件中)

1. 外部数据文件类型

  • csv
    在这里插入图片描述
  • json
    在这里插入图片描述
  • 两种数据文件格式
    在这里插入图片描述
    CSV文件对于非数字类型会加入 “ ” (引号) 变成字符串格式类型

2. 导入外部数据文件

csv文件

  1. 创建xx.csv文件。
  2. 将数据写入到csv文件中。【注意文件类型:UTF-8 显示中文】
    • 第一行写入的是数据对应的“字段名”。
    • 从第二行向后依次是对应的数值,数据间用英文逗号隔分。
  3. 在Postman中,选中使用数据文件的用例集,导入数据文件。
  • Postman操作
    ·1. 点击用例集名称,使用Run按钮,进入“Runner’"页面。
    ·2. 使用"Select File"按钮选择Xxx.csv文件。
    ·3. 点击预览按钮,校验数据文件是否正确。
    在这里插入图片描述
    在这里插入图片描述

json文件

  1. 创建xx.json数据文件
  2. 在数据文件中,按json语法写入json数据。postman要求,json格式的数据文件,数据内容的最外层,必须是 [ ]。内部所有的数据用 { }存储
    3.在Postman中,选中使用数据文件的用例集,导入数据文件。
    1. 点击用例集名称,使用Run按钮,进入“Runner’"页面。
    2. 使用“Select File"按钮选择xxx.json文件。
    3. 点击预览按钮,校验数据文件是否正确。
      在这里插入图片描述

3. 读取文件数据

  • 理论
    ·第一种:请求参数(请求行、请求头、请求体)中,使用数据文件中的数据

      - 使用{0}包裹csv文件字段名或json文件中的key如:{  {  fusername   }  }     {  {   password    }  } 
    

在这里插入图片描述

·第二种:代码(断言、请求前置脚本)中,使用数据文件中的数据

	- 需要借助postman提供的关键字data点csv文件的字段名或json文件的key"如:data.username或data.password

案例3: 批量查询手机号归属地、所属运营商,校验运膏商数据正确性

在这里插入图片描述

  • 接口可用
    在这里插入图片描述

CSV版本

  1. 测试单个接口,工作中参数和响应体数据对应关系。
    在这里插入图片描述

  2. 替换上述用例中的两处:

    1. 归属地:在代码中。用data.字段名替换
    2. 手机号:在查询参数中。用{ { 字段名 } }替换。
  3. 强调:一旦替换完成,Send就不再能正常获取响应数据。(数据必须从数据文件中读取,才能正常发送请求,Send不具备读取数据文件的功能)
    json 文件版本 就是选择json文件
    在这里插入图片描述

  4. 选择使用数据文件的用例集,进入Runner页面。导入数据文件。运行。
    在这里插入图片描述

  5. 如果有异常,借助postman的控制台,查看。
    在这里插入图片描述
    在这里插入图片描述
    小结:借助数据文件,实现`数据驱动"。一一有多少条数据,对应就有多少个http请求。

带有外部数据文件的测试报告生成

步骤:

  1. 批量执行测试用例(借助数据文件)
  2. 导出测试用例集(建议与数据文件放在一起)
  3. 执行生成测试报告的命令
newman run  用例集名称.json -d 数据文件名.csv/.json  -r html-reporter-html-export 报告名称.html

在这里插入图片描述
在这里插入图片描述

http://www.dtcms.com/a/495195.html

相关文章:

  • TR3--Transformer之pytorch复现
  • Traccar本地文件包含漏洞(CVE-2025-61666)
  • 建站网站推荐icp域名备案查询系统
  • 智能美颜引擎:美颜SDK如何实现自适应芯片性能优化
  • Java中的boolean与Boolean
  • Flutter高级进阶教程(视频教程)
  • Rocketmq 分布式事务 两阶段提交
  • 骑行,团骑和独骑冲突吗?
  • 对网站和网页的认识鞍山信息网便民信息
  • 《算法通关指南---C++编程篇(2)》
  • 【论文速递】2025年第29周(Jul-13-19)(Robotics/Embodied AI/LLM)
  • 网站 模板更改网站备案
  • VR反诈一体机-VR预防诈骗模拟系统-VR防诈骗体验馆方案
  • 大型网站seo课程沈阳关键词优化费用
  • Kubernetes PVC 扩容完全指南:静态迁移 vs 动态扩容
  • 【题解】B2613【深基1.习5】打字速度
  • Elastic DevRel 通讯 — 2025 年 10 月
  • Java面试基础题
  • 博客标题:快速解决 VS Code 终端运行 petalinux-config 界面显示错乱问题
  • 强化学习【Monte Carlo Learning][MC Basic 算法]
  • 杭州网站开发制作公司小程序源码出售
  • 从0到1学习Qt -- 创建项目
  • dw做网站基础wap网站开发价格
  • 【实时Linux实战系列】实时应用的多版本共存与无缝升级
  • Linux小课堂: 文件操作核心命令深度解析(cp、mv 与 rm 命令)
  • 【大模型小实验】考一考qwen3-8b对于历史人物的理解
  • 商家建设网站的好处公司单页设计
  • 鹿泉区住房建设局网站网站建设公司 项目经理 的工作指责
  • 字体设计网站有哪些免费网站模块在线制作教程
  • YOLOv3