用户数据包括:
{
“account”: “mijiayan665”, (登录账号:姓名拼音+序号)
“telephone”: “11111111111”, (电话:数字,无要求*)
“email”: “3995860@173.123”, (邮箱:要有@及.符号)
“userStatus”: 1, (用户状态:1为启用、2为禁用)
“tenantId”: “********”, (租户ID:所属租户id)
“realName”: “糜嘉延665”, (真实姓名:姓名汉字+序号,与登录账号相对应一致)
“isAdmin”: “0”,
“userType”: 1,
“roleIds”: [
“577013754324455424”(角色ID:与系统角色相一致)
],
“companyId”: “10011000000”,(公司ID:用户所属公司)
“departmentIds”: [
“10012000210”
],
“isVip”: “N”,
“authTenantIds”: [
“1001”
],
“id”: “577720498533699587”(用户ID:在系统中具有唯一性)
}
1、创建用户中文名
使用Jmeter自带的RandomString函数:

${__RandomString(1,赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨朱秦尤许何吕施张孔曹严华金魏陶姜戚谢邹喻柏水窦章云苏潘葛奚范彭郎,xing)}${__RandomString(2,文林欣德和泽子墨鸿哲兴贤良翰翰池景澄乐成俊晖嘉誉睿诚康安鹏程浩漫永年豪杰正梧浩晔光康天豪东瑜豪祥利综皓枫祥晴豪冰晨泽茹铭雪宪豪天晨冰冰悦祥孝天晓钟校杰椒冰铭涵魁嘉志棕皓瑞亭浩鸣子南鉴清浩航梓舒凌安云孜瑞迅雨星振链懿浩灏宇旭扬濮铭礼程铭心明寿程磊宁含亦民胜晨鸿树忆旭雨广铭海章毓秋恒宇学晨成博锌军宸慕富俊杰和志景浩安国奇希翰藻正豪承安雨华永寿彭湃志奇玮飞舟凯泽晟睿永嘉兴学专理群巍昂阳云正真永康伟毅吉星正文英卓星雨嘉勋博延飞鹏天宇康适鹏池运杰俊名俊健锐智光亮嘉树良奥德馨嘉志玉书经略飞航嘉荣光翰骞泽和风俊哲高懿文翰嘉赐曾琪乐池高轩宇寰文斌璞玉承基兴平烨然泽语建义子实元化明诚彬彬建中涵畅星,ming)}${__Random(1,2000,usernum)}")

第一个随机函数生成用户的姓,并把生成的姓赋值给“xing”;第二个随机函数生成用户的名,并把生成的姓赋值给“ming”,这里生成的名是两个字的,可以改成一个或三个;第三个随机函数生成用户的序号,并把用户序号赋值给“usernum”。由于我需要的用户数据是50W,怕用户有重复,所以加上了用户序号,如果有更多需要可以在姓和名中加入更过的数据。
2、根据用户名生成登录账号
JAVA有第三方依赖包pinyin4j-2.5.0.jar,可以实现将汉字自动转换为拼音,可自行下载。

在测试计划中引用下载到本地的依赖包,如上图。

并在创建用户的HTTP请求下添加BeanShell 预处理程序,并将下面代码复制到bean shell中:

import net.sourceforge.pinyin4j.PinyinHelper;
import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;public static String ToPinyin(String chinese){String pinyinStr = "";char[] newChar = chinese.toCharArray();HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);for (int i = 0; i < newChar.length; i++) {if (newChar[i] > 128) {try {pinyinStr += PinyinHelper.toHanyuPinyinStringArray(newChar[i], defaultFormat)[0];} catch (BadHanyuPinyinOutputFormatCombination e) {e.printStackTrace();}}else{pinyinStr += newChar[i];}}return pinyinStr;}String name_test = ToPinyin("${__RandomString(1,赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨朱秦尤许何吕施张孔曹严华金魏陶姜戚谢邹喻柏水窦章云苏潘葛奚范彭郎鲁韦昌马苗凤花方俞任袁柳酆鲍史唐费廉岑薛雷贺倪汤滕殷罗毕郝邬安常乐于时傅皮卞齐康伍余元卜顾孟平黄和穆萧尹姚邵湛汪祁毛禹狄米贝明臧计伏成戴谈宋茅庞熊纪舒屈项祝董粱杜阮蓝闵席季麻强贾路娄危江童颜郭梅盛林刁钟徐邱骆高夏蔡田樊胡凌霍虞万支柯昝管卢莫经房裘缪干解应宗丁宣贲邓郁单杭洪包诸左石崔吉钮龚程嵇邢滑裴陆荣翁荀羊於惠甄麴家封芮羿储靳汲邴糜松井段富巫乌焦巴弓牧隗山谷车侯宓蓬全郗班仰秋仲伊宫宁仇栾暴甘钭厉戎祖武符刘景詹束龙叶幸司韶郜黎蓟薄印宿白怀蒲邰从鄂索咸籍赖卓蔺屠蒙池乔阴欎胥能苍双闻莘党翟谭贡劳逄姬申扶堵冉宰郦雍舄璩桑桂濮牛寿通边扈燕冀郏浦尚农温别庄晏柴瞿阎充慕连茹习宦艾鱼容向古易慎戈廖庾终暨居衡步都耿满弘匡国文寇广禄阙东殴殳沃利蔚越夔隆师巩厍聂晁勾敖融冷訾辛阚那简饶空曾毋沙乜养鞠须丰巢关蒯相查後荆红游竺权逯盖益桓公,xing)}${__RandomString(2,文林欣德和泽子墨鸿哲兴贤良翰翰池景澄乐成俊晖嘉誉睿诚康安鹏程浩漫永年豪杰正梧浩晔光康天豪东瑜豪祥利综皓枫祥晴豪冰晨泽茹铭雪宪豪天晨冰冰悦祥孝天晓钟校杰椒冰铭涵魁嘉志棕皓瑞亭浩鸣子南鉴清浩航梓舒凌安云孜瑞迅雨星振链懿浩灏宇旭扬濮铭礼程铭心明寿程磊宁含亦民胜晨鸿树忆旭雨广铭海章毓秋恒宇学晨成博锌军宸慕富俊杰和志景浩安国奇希翰藻正豪承安雨华永寿彭湃志奇玮飞舟凯泽晟睿永嘉兴学专理群巍昂阳云正真永康伟毅吉星正文英卓星雨嘉勋博延飞鹏天宇康适鹏池运杰俊名俊健锐智光亮嘉树良奥德馨嘉志玉书经略飞航嘉荣光翰骞泽和风俊哲高懿文翰嘉赐曾琪乐池高轩宇寰文斌璞玉承基兴平烨然泽语建义子实元化明诚彬彬建中涵畅星,ming)}${__Random(1,2000,usernum)}");
vars.put("pinyinname",name_test)

上面的代码会自动将生成的中文名转换为拼音,并且将拼音赋值给“pinyinname”。
3、创建用户数据
经过上面的两步最大的问题已经基本解决,下面可以直接调用创建接口:

报文数据如下:

{"account": "${pinyinname}","telephone": "11111111111","email": "${__Random(1111111,9999999)}@${__Random(1,200)}.123","userStatus": 1,"tenantId": "1001","realName": "${xing}${ming}${usernum}","isAdmin": "0","userType": 1,"roleIds": ["577013754324455424"],"companyId": "10011000000","departmentIds": ["10012000210"],"isVip": "N","authTenantIds": ["1001"],"id": "${userid}"
}

报文中:“account”引用的是生成的姓名拼音;“email”是使用随机函数生成无效邮箱,也可根据数据要求进行相应修改;“realname”通过引用姓+名+序号的形式生成的,可以保证与account的拼音相一致;这里“id”是后端生成的,所以这里是先调用了生成用户ID的接口并用正则提取器提取到这里,也可直接使用Jmeter随机函数自动生成。

注:要想把测试数据创建的真实且合适需要考虑真实场景需要,万万没想到创建测试数据也踩过这么多坑,测试人共勉!

Jmeter创建大批量测试用户数据技巧相关推荐

  1. jmeter制造大批量的用户数据数据

    需求:因测试需要,要造100w用户数据,通过用户名.手机号.密码可新增用户,其中用户名和电话号码要求100w用户不能重复 要点: 1.通过Bean shell Sampler实现用户名和手机号的足够随 ...

  2. 服务器阵列信息恢复,DELL RAID阵列的创建恢复回原有的用户数据

    前一页,我们清除了PERC卡原有的配置信息,硬盘上的用户数据并没有被初始化掉.下面,我们就还有机会可以创建回和原来一样的RAID配置(RAID1+RAID10),并恢复回原有的用户数据.我们来示范一下 ...

  3. Jmeter基本使用到精通(一)从安装第一个任务线程的创建及测试

    (一)jemter介绍 Apache JMeter是100%纯JAVA桌面应用程序,被设计为用于测试客户端/服务端结构的软件(例如web应用程序).它可以用来测试静态和动态资源的性能,例如:静态文件, ...

  4. Jmeter创建测试文件

    Jmeter创建测试文件 1.Jmeter创建测试文件步骤 2. Jmeter基础链接 1.Jmeter创建测试文件步骤 1. 老步骤.先调为中文,[Options]->[Choose Lang ...

  5. ASP.NETCore小技巧:使用测试用户中间件

    哈喽大家好,这篇文章其实很早就想写了,因为一直会有小伙伴问到,但是我却始终拿不到好的方案,最近在录制<eShopOnContainer微服务架构>的视频,碰巧就看到了微软官方的代码中也有这 ...

  6. mysql用户数据导入_mysql创建数据库、用户及导入数据_mysql数据库教程

    怎样mysql创建数据库.用户及导入数据 1. 修改MYSQL服务器字符集为utf8: 1.1 当前MYSQL服务器字符集设置 SHOW VARIABLES LIKE 'character_set_% ...

  7. SQL Server数据库创建数据库、用户、表和插入数据(Transact-SQL)

    SQL Server 基本操作 一.建数据库并创建用户 二.创建模式 三.建表并插入数据 一.建数据库并创建用户 首先使用 create database <表名> 创建数据库,这里使用如 ...

  8. 八成互联网电视系统非法采集用户数据;前亚马逊工程师被定罪;雅虎将在香港测试元宇宙技术 | 每日大事件...

    数据智能产业创新服务媒体 --聚焦数智 · 改变商业 01.中国信通院:八成互联网电视系统存在非法采集共享用户数据问题 近日,中国信通院联合电信终端产业协会发布了 < OTT 终端数据安全和个人 ...

  9. 项目描述_单元测试技巧:创建描述性测试

    项目描述 您的单元测试应尽可能具有描述性. 他们给您的反馈应该非常清楚,您甚至不必启动调试器并一步一步地检查代码以检查局部变量. 为什么? 因为那需要时间,而且我们很懒,对吗? 为此,您需要创建描述性 ...

  10. 单元测试 问题描述_单元测试技巧:创建描述性测试

    单元测试 问题描述 您的单元测试应尽可能具有描述性. 他们给您的反馈应该非常清楚,您甚至不必启动调试器,并一步一步地检查代码以检查局部变量. 为什么? 因为那需要时间,而且我们很懒,对吗? 为此,您需 ...

最新文章

  1. 修改及查看mysql数据库的字符集
  2. 玩转springboot:thymeleaf模板引擎入门程序
  3. Jquery中使用Validate插件使表单验证更加简单
  4. Linux_Environment_Red Hat 卸载OpenJDK ,安装Orcl JDK 及 NTFS-3g
  5. maven的常用命令
  6. RequireJS的加载、初始化等等 - 代码格式篇
  7. hosts ip 指向ip_不同网段共享打印机?不同IP段怎么共享打印机?
  8. 智课雅思词汇---十五、前缀co-com-con-col-cor-是什么意思
  9. 如何在计算机里打开ps,传授电脑psd文件用什么软件打开
  10. Java项目——细胞自动机
  11. 正项级数收敛性判别方法
  12. 古巨蜥好几吨重,但在我们智人祖先面前也是枉然 | 袁硕 一席第449位讲者
  13. 共享办公平台,提高整体使用率
  14. 深度学习入门笔记(李沐)(一)
  15. UVA1616-Caravan Robbers(二分)
  16. javascript蜘蛛纸牌
  17. [OpenSource] AWBot-一款小巧的测试Web站点的工具
  18. 【转】deepin Linux下Picked up _JAVA_OPTIONS错误
  19. 破解root密码详细流程
  20. CCIR601与 CCIR656介绍

热门文章

  1. bsc全节点搭建(币安智能链)
  2. 自建魔兽世界sf服务器,魔兽世界80自己搭服务器,热度却持续不到一天,全部用命令!...
  3. 产品沉思录精选:如何像管理金融投资组合一样来管理知识?
  4. 信息科采购服务器可行性,与HP合作 南方医院PACS系统创新效益
  5. POP3协议命令原始码及工作原理
  6. ART中 MIR -- LIR -- 机器码 的流程
  7. 安装 Vmware和创建虚拟机即密码破解
  8. Python3+Scrapy实现网页爬虫
  9. 创新抗生素获FDA优先审评资格 治疗社区获得性肺炎
  10. cygwin安装指南