使用者统计数据主要包括:
{
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函数:
第一个随机函数生成使用者的姓,并把生成的姓赋值给xing;第二个随机函数生成使用者的名,并把生成的姓赋值给ming,这里生成的名是两个字的,可以改成一个或三个;第三个随机函数生成使用者的序列号,并把使用者序列号赋值给usernum。由于我需要的使用者统计数据是50W,怕使用者有重复,所以加上了使用者序列号,如果有更多需要可以在姓和名中加入更过的统计数据。
2、根据使用者名生成登入帐号
JAVA有第三方依赖包pinyin4j-2.5.0.jar,可以实现将简化字自动转换为罗马字,可自行下载。
在试验计划中引用下载到本地的依赖包,如上图。
并在建立使用者的HTTP请求下添加BeanShell 预处理程序,并将下面代码复制到bean shell中:
上面的代码会自动将生成的中文名转换为罗马字,并且将罗马字赋值给pinyinname。
3、建立使用者统计数据
经过上面的两步最大的问题已经基本解决,下面可以直接调用建立接口:
报文统计数据如下:
报文中:account引用的是生成的联系电话号码罗马字;email是使用随机函数生成无效电子邮箱,也可根据统计数据明确要求进行相应修改;realname通过引用姓+名+序列号的形式生成的,可以保证与account的罗马字相符合;这里id是后端生成的,所以这里是先调用了生成使用者ID的接口并用正则提取器提取到这里,也可直接使用Jmeter随机函数自动生成。
注:要想把试验统计数据建立的真实世界且合适需要考虑真实世界场景需要,万万没想到建立试验统计数据也踩过这么多坑,试验人共勉!
发表评论