案例-使用Postman向百度首页发送带时间戳的GET请求
案例:使用Postman向百度首页发送带时间戳的GET请求
目标
在发送请求前自动生成时间戳,将其作为参数传递给百度服务器,验证动态参数的传递效果。
详细步骤
1. 基础请求配置
- 请求方法:选择
GET
(原理:GET方法用于从服务器获取资源,百度首页作为公开资源,适合用GET请求) - 请求URL:输入
http://www.baidu.com
(原理:URL是服务器识别资源的地址,此URL指向百度首页)
2. 编写Pre-request Script(请求前脚本)
在Pre-request Script
标签页中输入以下代码:
// 生成当前时间的时间戳(毫秒级)
var timestamp = new Date().getTime()// 将时间戳存储为全局变量(全Postman环境可访问)
pm.globals.set("glb_timestamp", timestamp)
- 作用:在请求发送前执行,完成数据准备
- 代码解析:
new Date().getTime()
:JavaScript语法,获取从1970年1月1日到当前时间的毫秒数(时间戳),确保每次请求的参数值唯一pm.globals.set()
:Postman内置API,将时间戳保存为全局变量glb_timestamp
,供后续步骤引用
3. 查看全局变量(验证变量是否生成)
- 点击Postman界面右上角的「眼睛图标」(环境变量按钮)
- 在弹出的窗口中切换到
Globals
标签,可看到已创建的glb_timestamp
及对应的时间戳值
(作用:确认变量已正确生成,为后续参数引用做准备)
4. 添加请求参数(将时间戳传递给服务器)
- 切换到
Params
标签页,添加一行参数:Key
:输入t
(参数名,可自定义,此处模拟百度可能接收的时间参数)Value
:输入{{glb_timestamp}}
(用双大括号包裹全局变量名,表示引用该变量的值)
- 原理:Postman会自动将
{{glb_timestamp}}
替换为实际的时间戳数值,使URL动态携带参数
5. 发送请求并验证结果
- 点击
Send
按钮发送请求 - 观察URL变化:地址栏会显示
http://www.baidu.com?t={{glb_timestamp}}
(实际发送时变量已被替换) - 打开控制台查看真实请求:
- 点击顶部菜单
View
→Show Postman Console
- 清空控制台后再次点击
Send
- 控制台中会显示类似
GET http://www.baidu.com?t=1620000000000
的记录,其中数字即为实际传递的时间戳
- 点击顶部菜单
核心逻辑总结
- 前置处理:
Pre-request Script
在请求前生成时间戳并保存为全局变量 - 参数引用:通过
{{变量名}}
语法在请求参数中动态引用全局变量 - 效果验证:通过控制台确认参数已正确传递给服务器
整个流程无需Tests脚本(因其主要用于请求后验证,本案例无需此步骤),仅通过前置脚本即可完成动态参数传递。