jmeter 参数化大数据取唯一值方式

一、用时间函数:

因为时间戳永远没有重复,jmeter参数化,而且要取唯一值,可以考虑用时间函数加上其他函数一起:
# 以13位的时间戳作为 userID
nowTime = lambda: int(round(time.time() * 1000))
userID = str(nowTime())
print("userID--------" + userID)
输出结果:
userID--------1574172135349

每次输出的结果都不一样:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import time nowTime = lambda: int(round(time.time() * 1000))
userID = str(nowTime()) for i in range(0,10):
print("userID--------" + userID) 输出结果:
userID--------1574172365139
userID--------1574172365139
userID--------1574172365139
userID--------1574172365139
userID--------1574172365139
userID--------1574172365139
userID--------1574172365139
userID--------1574172365139
userID--------1574172365139
userID--------1574172365139

二、用UUID:

解决上面的问题,还可以用UUID来作为参数,UUID通常以36字节的字符串表示,示例如下:
3F2504E0-4F89-11D3-9A0C-0305E82C3301
ID多数是数字的,如果不需要 “-”,可以去掉。

如下是分析在jmeter中如何使用:

1,新建一个BeanShell Sampler;

 在BeanShell Sampler编写UUID的代码:
import java.util.UUID; UUID uuid1 = UUID.randomUUID(); //获取UID的值 vars.put("transferNo",(uuid1.toString()).toUpperCase().replaceAll("-","")); //去掉UUID的“-”,再赋值给transferNo 运行获取的参数就是:3F2504E04F8911D39A0C0305E82C3301
//vars.put("transferNo",(uuid1.toString()).toUpperCase());
//这个就是不用去掉UUID的“-” 运行获取到的参数就是:3F2504E0-4F89-11D3-9A0C-0305E82C3301

2,新建一个http请求;

在BeanShell Sampler获取到UUID的参数后,可以在http请求页面,直接用:     "transferNo":"${transferNo}"      获取。
运行后,该参数值几乎不出现重复的问题。UUID可以根据自己需要的参数,进行优化。

三,直接写代码for循环生成大量唯一不重复的测试数据

#!/usr/bin/env python
# -*- coding: utf-8 -*-
for i in range(1000000, 9000000):
k = i + 1
q = '2018' + str(k)
print('q ========= ' + q) 输出结果:
.........

q ========= 20181145532
q ========= 20181145533
q ========= 20181145534
q ========= 20181145535
q ========= 20181145536
q ========= 20181145537

.........

最后用txt或者excel将生成的大量数据导入jmeter进行并发请求。

jmeter 参数化大数据取唯一值方式的更多相关文章

  1. LoadRunner参数化之数据取值和更新方式

    其实看LR已经很久了,每次看到参数化的取值更新时,都没有看透,了解个大概就为止了,也确实挺搞脑子的. 现在理解下来 分成2部分 取值方式  Select next row 如何从数据列表中取值 Seq ...

  2. jmeter参数化读取数据进行多次运行

    jmeter参数化数据,可以使用csv,还可以使用数据库的方式 1.使用csv读取数据 在线程组中,配置原件中,选择csv data set config 1.本地创建了16个数据,存为test.tx ...

  3. MATLAB 大数据剔除坏值

    在用MATLAB进行数据分析的时候,坏点对正确结果的影响比较大, 因此,我么需要剔除野点,对于坏值的剔除,我们 利用  3σ准则 剔除无效数据: 3σ准则又称为拉依达准则,它是先假设一组检测数据只含有 ...

  4. TestNG参数化测试-数据提供程序 @DataProvider方式

    在 testng.xml 中指定参数可能会有如下的不足: 1.如果你压根不用 testng.xml. 2.你需要传递复杂的参数,或者从Java中创建参数(复杂对象,对象从属性文件或者数据库中读取的et ...

  5. Js数组去重复取唯一值

    function isBigEnough(element) { return element >= 10; } var filtered = [12, 5, 8, 130, 44].filter ...

  6. java大数据批量处理实现方式

    1. 各批量方式对比 Mybatis与JDBC批量插入MySQL数据库性能测试及解决方案 2. 原理解析 1)MySql PreparedStatement executeBatch过慢问题 3. 工 ...

  7. Loadrunner中参数化取值方式分析

    Loadrunner中参数化取值依赖两个维度: 1.取值顺序分为“顺序”“随机”“唯一”.    select next row:Sequential , Random,unique 2.更新值时分为 ...

  8. Spark大数据针对性问题。

    1.海量日志数据,提取出某日访问百度次数最多的那个IP. 解决方案:首先是将这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中.注意到IP是32位的,最多有个2^32个IP.同样可以采 ...

  9. 免费大数据搜索引擎 xunsearch 实践

    以前在IBM做后端开发时,也接触过关于缓存技术,当时给了n多文档来学习,后面由于其他紧急的项目,一直没有着手去仔细研究这个技术,即时后来做Commerce的时候,后台用了n多缓存技术,需要build ...

随机推荐

  1. 1.live555源码分析----RSTPServer创建过程分析

    最近五一回家,终于有机会能安静的看一下流媒体这方面相关的知识,准备分析live555的源码,接下来会把我读源码的过程记录成博客,以供其他的同路人参考. 因为再读源码的过程中,并不是一路顺着读下来,往往 ...

  2. unity点击按钮换按钮图标

    在做项目时,比如声音开关我们涉及到按钮的图标切换. using System.Collections; using System.Collections.Generic; using UnityEng ...

  3. js计算两个时间差 天 时 分 秒 毫秒

    // 计算两个时间差 dateBegin 开始时间 function timeFn(dateBegin) { //如果时间格式是正确的,那下面这一步转化时间格式就可以不用了 var dateEnd = ...

  4. Android笔记(七十六) 点菜DEMO

    一个朋友让看一下他的代码,一个点菜的功能,他和我一样,初学者,代码比我的都混乱,也是醉了,干脆想着自己写个demo给他看,原本想着听简单,半个小时应该就可以搞定,真正写的时候,画了3h+,汗颜... ...

  5. MySQL创建用户和加限权

    目录 1.权限管理 1.1对新用户增删改 1.2对当前的用户授权管理 1.权限管理 ​ 我们知道我们的最高权限管理者是root用户,它拥有着最高的权限操作.包括select.update.delete ...

  6. CVE-2019-10392:Jenkins Git client插件RCE复现

    0x00 简介 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能. 0x01 漏洞概述 Git客 ...

  7. HRBUST 2040 二叉树的遍历

    给出一棵二叉树的中序和前序遍历,输出它的后序遍历. Input 本题有多组数据,输入处理到文件结束. 每组数据的第一行包括一个整数n,表示这棵二叉树一共有n个节点. 接下来的一行每行包括n个整数,表示 ...

  8. drf框架(2)

    drf框架 """接口: 接口规范: drf的生命周期: 序列化组件: 三大认证:过滤,删选,排序组件 请求,响应,解析,异常 jwt:json web tooken & ...

  9. c和c++区别(未整理)

    学习完C语言和c++比较一下他们之间的区别: c++是c语言的基础上开发的一种面向对象的编程语言,应用十分广泛,按理说c++可以编译任何c的程序,但是两者还是有细微的差别. c++在c的基础上添加了类 ...

  10. HDU - 3535:AreYouBusy (分组背包)

    题意:给你n个工作集合,给你T的时间去做它们.给你m和s,说明这个工作集合有m件事可以做,它们是s类的工作集合(s=0,1,2,s=0说明这m件事中最少得做一件,s=1说明这m件事中最多只能做一件,s ...