jmeter-----随机生成手机号后8位并去重,来进行注册手机号的压测(代码片段)

Syw Syw     2022-11-19     805

关键词:

  要求:对注册接口进行100000次压测,手机号已126开头,后面的8位数不限

  前言:在进行测试中,我们需要对注册接口进行压测100000次,那么就要求手机号码每次填写的不一致,否则手机号使用一次后会出现该手机号码已注册的情况,为了避免这种情况的发生,我们对手机号码的填写通常有2种方式,1、使用random函数随机生成,2、手动在excel表中写100个号码,通过添加配置元件CSV data set config来获取。显然我们会选择第一种实现方式较为方便。以下我们来看如何实现。

 

第一种方法:

 

  直接使用函数助手,利用__random函数来生成8位数。可能存在的问题:生成的数可能会出现重复

 

  

  

第二种方法:

 

  采用时间戳+随机数的方法来避免重复,并且生成不重复的8位数

  1、添加采样器 BeanShell Sampler,并在中填写对应的操作,重点部分

   

//为了避免手机号后8位出现重复,因此采用时间戳+随机数
phone=$__time(/100000,) + $__Random(1,100000,);

String a = String.valueOf(phone);   //将phone转为字符串,因为手机号的要求类型为char

vars.put("phone",a);      //将字符串a设置为变量

vars.get("phone");      //在debug sample中查看phone的取值

log.info("8888888888888哈哈哈:"+a);    //在logview中打印查看取值

  

 

  这里,前半是取一个10位的时间戳,后面是取1个[1,100000]的随机数字,可重复,这个随机范围越大,最后生成的随机数越不容易重复,当大并发时,随机数取的很快,所以还是有极低可能重复的。因此在许可范围内,尽量拉大随机数范围。 
  $__time(,)则是去当前毫秒时间,13位的数字,也可以用来取更精确的时间戳 

 

  2、将设置的变量添加到请求中

 

  

 

  3、添加“查看结果树”来查看运行结果,和添加“Bebug Sampler”来查看phone的取值

 

  

  

 

  

jmeter-随机函数

...况下,可以使用随机函数来生成随机值来进行,比如查询手机号的归属地功能测试中,不要求手机号一定是我知道的,以下是随机函数的配置方式和使用流程。 一、随机函数配置功能点  二、配置函数1.选择__RandomStrin... 查看详情

jmeter生成随机8位手机号,进行压测登录操作,实用工具【randomstring】

参考技术A在项目中,客户要求500个用户使用新的手机号同一时间进行登录操作,通常有两种方法,第一种,使用csv文件进行操作,提前写好你要进行登录的手机号,这种方法比较麻烦,万一用户需求量大,说需要一万个手机号... 查看详情

js实现数组排序并去重

遍历数组//先实现冒泡排序,后实现数组去重functionfn(arr){for(vari=0;i<arr.length-1;i++){for(varj=0;j<arr.length-1-i;j++){if(arr[j]>arr[j+1]){vartemp=arr[j]arr[j]=arr[j+1]arr[j+1]=temp}}}for(vark=0;k<arr.lengt 查看详情

jmeter完成接口项目参数化测试(十七)

... 添加HTTP请求默认值,注册http请求,查看结果树:将手机号参数化,手机号后两位用函数助手随机生成:将函数助手字符串复制到参数中:运行5次,执行,查看结果:随机生成的后两位又可能会出现重合一样的时候2.txt文件... 查看详情

jmeter(二十六)前置处理器-jsr223postprocessor(随机生成手机号)

参考技术A1、添加测试计划2、添加线程组4、在前置处理器中,添加JSR223脚本5、添加Debug采样器&命名为DebugSampler$phone_nums6、添加察看结果树7、执行测试脚本,则可通过查看结果树查看新增的手机号 查看详情

jmeter-随机函数

...况下,可以使用随机函数来生成随机值来进行,比如查询手机号的归属地功能测试中,不要求手机号一定是我知道的,以下是随机函数的配置方式和使用流程。 一、随机函数配置功能点  二、配置函数1.选择__RandomStrin... 查看详情

创建一个jmeter的外部jar包(代码片段)

说明/***Description:本包生成的顺序身份证、姓名和手机号,前30万条基本不会重复。*CreatedbyJimon2017/9/6.*orderName()顺序生成一个姓名,共计322,452个*orderMobile()顺序生成一个手机号,共39个号段,每9999个随机号后切换至新号段,即前39*... 查看详情

java把多个list合并成一个并去重(代码片段)

    开发过程中遇到一个合并去重问题,任务完成后,总结出来一个比较简单的方法。对于List中不同类型的数据,需要采用不同的处理方式。List中如果是基础数据类型,直接合并去重即可;如果是对象类型,则需... 查看详情

jmeter-函数生成参数

用函数生成随机数:(__Random)(1)在Jmeter中点击 选项-函数助手对话框:(2)在弹出的对话框中选__Random,填写随机数的范围,点击生成,就看到需要的字符串了,然后复制出来$__Random(1,100,)(3)在请求中使用生成的随机... 查看详情

jmeter函数助手中random函数详解

...数字,如80972.__Random函数的应用在接口测试中,要求入参手机号不能重复,相信很多人都不会陌生,这里可以使用__Random函数解决问题。(1)事先根据需求量用__Random函数生成合适的函数,这里我制定手机号前6位是固定的:158100... 查看详情

golang对元素slice并去重(代码片段)

参考博客:https://blog.csdn.net/qq_27068845/article/details/77407358封装的类似PHP的array_column//ArrayColumn获取二维数组某一个键值funcArrayColumn(input[]map[string]interface,columnKeystring)([]interface)iflen(input)==0return[]interfaceresult:=[]interface//fori:=0;i<len(input... 查看详情

jmeter-充值-生成随机数

1、随机数,orderId每次需要变化,需要用到随机数验证生成的随机数:  查看详情

vue动态点击添加数组并去重(代码片段)

//这里用的是methods事件并非watch监听this.zhishi也不需要handleNodeClick(data)this.zhishi.push(data.label);this.zhishi=Array.from(newSet(this.zhishi));,  查看详情

数组排序并去重(代码片段)

functionfn(arr)for(vari=0;i<arr.length-1;i++)for(varj=0;j<arr.length-1-i;j++)if(arr[j]<arr[j+1])vartemp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;for(vark=0;k<arr.length;k++)varc=arr[k] 查看详情

jmeter学习及使用http请求和soap请求

...t;FunctionHelperdialog打开函数助手对话框**因为我们测试的是手机号,所有需要知道开始字段,如159,所以只随机后面的八位数字2.设置随机的参数设置后,将生成的代码复制到HTTPrequest界面:注意,我们只设置了8位随机数,所以要... 查看详情

jmeter之随机变量的使用

在压力测试时,我们需要模拟实际情况,不同的用户可以产生不一样数量/数据的流程实例,因此我们可以使用随机变量还进行模拟。线程组->添加->配置元件->RandomVariable(随机变量)     变量名称(VariableName... 查看详情

性能测试--jmeter随机生成//随机选取/csv读取关键字

Jmeter随机生成/随机选取/csv读取关键字一、随机生成关键字随机生成关键字,需要组件:随机变量配置元件(RandomVariable)  该组件的作用是生成字符+随机数字格式的字符串,并保存在变量中,以便后续使用  下面几... 查看详情

js将一个数组push到另一个数组并去重

  functionmergerArr(arr1,arr2){    varflag;    for(vari=0;i<arr1.length;i++){      flag=false;      for(varj=0;j<arr2.length;j++){      if(arr1[i]==arr2[j]){        flag=true;        break;      查看详情