zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    隐藏Nginx、Apache、PHP的版本信息
    PHP 安装版本选择
    Python 队列实现广度搜索算法 附上迷宫实例
    PHP 利用栈实现迷宫算法
    Python 和 PHP 实现 队列 和 栈 以及 利用栈实现符号匹配算法
    tp5 安装migration 报错 Installation failed, reverting ./composer.json to its original content.
    Redis 有序集合
    Redis 集合命令记录
    ‘This support library should not use a different version’解决方案
    build.gradle文件详解(二)
  • 原文地址:https://www.cnblogs.com/longronglang/p/10035656.html
Copyright © 2011-2022 走看看