博客
关于我
postman之参数化详解
阅读量:798 次
发布时间:2023-03-03

本文共 1894 字,大约阅读时间需要 6 分钟。

Postman 参数化测试方法实用指南

1. 内置变量实现

Postman 提供了一些内置变量,可用于参数化测试。这些变量可以直接使用,无需手动编写代码,但需要注意的是,它们不能用于精确比较。

常用内置变量示例

变量名称 描述 示例
{!-- {$guid} --> 添加一个V4风格的GUID。 “611c2e81-2ccb-42d8-9ddc-2d0bfa65c1b4”
{!-- {$timestamp} --> 添加当前的时间戳,精确到秒。 1562757107 , 1562757108 , 1562757109
{!-- {$randomint} --> 生成0-1000之间的随机整数。 0-1000之间的随机整数
{!-- {$randomFullName} --> 生成随机全名(名字和姓氏)。 Connie Runolfsdottir , Sylvan Fay , Jonathon Kunze
{!-- {$randomBoolean} --> 生成随机布尔值 (true/false)。 true , false , false , true

更多内置变量参考:CDN技术博客

2. Pre-request-Script 页面实现

Pre-request-Script 是一种推荐的参数化方法,主要用于在发送请求前执行自定义脚本。其优点包括高可塑性和代码复用。

使用步骤

  • 定义当前时间并设置为全局变量

    代码示例:

    const now_time = Date.now();pm.globals.set("now_time", now_time);
  • 生成GUID

    代码示例:

    const guid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/x/g, () => (Math.floor(Math.random() * 16)).toString(16)).replace(/y/g, () => (Math.floor(Math.random() * 4 + 8)).toString(16));pm.globals.set("guid_value", guid);
  • 生成随机数

    代码示例:

    const randomInt = (min, max) => Math.floor(Math.random() * (max - min + 1)) + min;pm.globals.set("random_number", randomInt(8,14));
  • 获取随机姓名

    代码示例:

    const charsInName = ['王','李','张'];pm.globals.set("people_name", charsInName[Math.floor(Math.random() * charsInName.length)] );
  • 生成随机手机号码

    代码示例:

    const mobile_num = `13${randomInt(500000000, 599999999)}`;pm.globals.set('mobile_num', mobile_num);
  • 实现睡眠功能

    代码示例:

    const sleep = (milliseconds) => {    const start = Date.now();    while (Date.now() <= start + milliseconds) {    };};sleep(5000);
  • 3. 外部文件实现

    3.1 CSV 文件实现

  • 文件结构

    第一行:字段名,字段名,…
    后续行:对应字段的值

  • 使用步骤

    • 导入文件后,Postman 会自动解析数据。
    • 设置迭代次数,决定如何处理文件中的数据行。
  • 注意事项

    • 确保文件以 UTF-8 编码保存。
    • 如果迭代次数超过文件行数,最后一行会重复使用。
  • 3.2 JSON 文件实现

  • 文件结构

    [  {    "name": "张三",    "age": 30  },  {    "name": "李四",    "age": 25  }]
  • 使用步骤

    • 导入 JSON 文件。
    • 根据需要设置迭代次数。
  • 注意事项

    • 确保文件格式正确,Postman 会自动校验。
    • 数据文件中的每一行都会被迭代处理。
  • 4. 关于测试断言

    在 Tests 页面中,可以对请求响应进行断言,确保结果符合预期。断言支持 JavaScript 语法,可以灵活定义验证规则。


    通过以上方法,你可以轻松实现参数化测试,提升测试效率和可维护性。

    你可能感兴趣的文章
    postman接口功能测试
    查看>>
    Postman接口测试
    查看>>
    Postman接口测试
    查看>>
    Postman接口测试/接口自动化实战教程
    查看>>
    Postman接口测试之POST、GET请求方法
    查看>>
    Postman接口测试之Post、Get请求方法
    查看>>
    Postman接口测试之:添加Cookie伪造请求
    查看>>
    Postman接口测试企业级实战
    查看>>
    PostMan接口测试实战
    查看>>
    Postman接口测试实战讲解
    查看>>
    Postman接口测试工具安装部署与快速入门
    查看>>
    postman接口测试常见问题
    查看>>
    Qkeras量化模型-直接搭建模型的量化感知训练
    查看>>
    postman接口测试,1个参数有好几个值的时候如何测试比较简单快速?
    查看>>
    Postman接口测试:配置token为全局变量,配置测试环境
    查看>>
    Postman接口测试:配置token为全局变量,配置测试环境
    查看>>
    Postman接口自动化测试之——批量参数化(参数文件)
    查看>>
    Postman接口自动化测试之——批量执行(集合操作)
    查看>>
    Postman接口自动化测试之——批量执行(集合操作)
    查看>>
    Postman接口自动化测试实战整理
    查看>>