博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JMeter实现唯一参数生成不重复时间戳
阅读量:5773 次
发布时间:2019-06-18

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

现象:

使用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

你可能感兴趣的文章
springmvc+swagger2
查看>>
软件评测-信息安全-应用安全-资源控制-用户登录限制(上)
查看>>
cacti集成
查看>>
Android中的Cursor
查看>>
我的友情链接
查看>>
Java Web Application 自架构 一 注解化配置
查看>>
如何 debug Proxy.pac文件
查看>>
Python 学习笔记 - 面向对象(特殊成员)
查看>>
Kubernetes 1.11 手动安装并启用ipvs
查看>>
Puppet 配置管理工具安装
查看>>
Bug多,也别乱来,别被Bug主导了开发
查看>>
sed 替换基础使用
查看>>
高性能的MySQL(5)创建高性能的索引一B-Tree索引
查看>>
附件3:eclipse memory analyze使用教程
查看>>
oracle备份与恢复--rman
查看>>
Postfix邮件发送和接收实验
查看>>
图片变形的抗锯齿处理方法
查看>>
Effective C++ Item 32 确保你的 public 继承模子里出来 is-a 关联
查看>>
phpstorm安装laravel-ide-helper实现自动完成、代码提示和跟踪
查看>>
Resume简历中装B的词汇总结大全
查看>>