JMeter实现唯一参数生成不重复时间戳
现象:
使用jmeter做接口压测时,总会遇到压测时,提示不允许重复id或提示订单不允许重复现象,那么如何解决呢?
原料工具
- jmeter4.0
- 本地准备好接口服务
思路:
- 单个接口,小批量接口,一般以时间戳或者是日期格式的数据作为接口测试参数,解决参数化问题;
- 大批量接口压测时,这上面的时间戳方式是不行的,秒级请求或者毫秒级别的请求不能满足大批量接口压测需求,这时候需要用比毫秒小的单位纳秒再做字符串拼接
时间戳函数操作:
1、通过函数助手,生成一个_time 函数:
2、如果参数为时间戳,那公式为:
${__time(,)} : 默认该公式精确到毫秒级别, 13位数
${__time(/1000,)} : 该公式精确到秒级别, 10位数
3、 如果参数需要为当前日期,那公式为:
${__time(yyyy-MM-dd,)}
${__time(YMDHMS,)}
实例demo演示:
1、使用jmeter创建一个为 “时间戳重复请求demo” http请求,并添加查看结果树
采用时间戳(日期格式化)形式组成唯一参数形式:${__time(yyyyMMddHHmmssSS,)}
2、使用jmeter创建一个为 “时间戳不重复请求demo” http请求,并添加查看结果树
采用时间戳(日期格式化+纳秒函数)
添加前置处理器-->bean shell Preprocessor
beanshell部分:
long timeStamp = System.nanoTime(); vars.put("timeStamp",timeStamp+""); log.info("---------------------------------------"+vars.get("timeStamp"));
3、运行结果:
第一个http请求(时间戳重复请求demo)结果:
显然都是一样的如下图:
第二个http请求(时间戳不重复请求demo)结果:
本次练习jmeter工程下载链接:
https://download.csdn.net/download/wangqiang_cyou/10814770
部分参考文章:https://www.cnblogs.com/kaibindirver/p/8964295.html
优秀不够,你是否无可替代
软件测试交流QQ群:721256703,期待你的加入!!
欢迎关注我的微信公众号:软件测试君

【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
2017-11-28 kali安装谷歌浏览器的方法及启动问题的解决