jmeter 生成隨機數(手機號)&隨機中文字符


(一)隨機數生成方法

1、BeanShell 預處理程序

 

 

 

//定義手機號前3位
String[] FirstThreeNumber = {"134","135","136","137","138","139","147","150","152","157","158","159","172","178","182","183","184","187","188","198","130","131","132","145","155","156","166","171","175","176","185","186","166","133","149","153","173","177","180","181","189","199"};
 
//隨機獲取前三位手機號的index
int n= (int)(Math.random() * FirstThreeNumber.length);
//獲取手機前三位
String yy = FirstThreeNumber[n];
//循環獲取手機號后8位
for(int i = 0; i < 8; i++){
	int x = (int)(Math.random() * 9);
	yy = yy + x;
};
vars.put("com_phone", yy);

 調用隨機數

 

 

 

2、BeanShell 預處理程序,利用時間戳+隨機數生成手機號,減少重復(注:圖中用了后置處理程序錯誤,並且只能固定前三位使用,並且暫時不知json格式如何做到字符與變量一起傳遞)

 

(二)生成隨機中文字符

1、利用函數RandomString

${__RandomString(1,趙錢孫李周吳鄭王馮陳褚衛蔣沈韓楊朱秦尤許何呂)}${__RandomString(2,文林欣德和澤子墨鴻哲興賢良翰翰池景澄樂成俊)}

2、BeanShell 預處理程序

import java.util.Random;
 
public class Random_str {
public static String RandomJianHan(int len) {
String ret = "";
for (int i = 0; i < len; i++) {
String str = null;
int hightPos, lowPos; // 定義高低位
Random random = new Random();
hightPos = (176 + Math.abs(random.nextInt(39))); // 獲取高位值
lowPos = (161 + Math.abs(random.nextInt(93))); // 獲取低位值
byte[] b = new byte[2];
b[0] = (new Integer(hightPos).byteValue());
b[1] = (new Integer(lowPos).byteValue());
try {
str = new String(b, "GBk"); // 轉成中文
} catch (UnsupportedEncodingException ex) {
ex.printStackTrace();
}
ret += str;
}
return ret;
}
}
 
Random_str ran = new Random_str();
String companyname = ran.RandomJianHan(5);//此處生成的是長度為5的字符串
vars.put("companyname",companyname);
 
Random_str ran = new Random_str();
String content1 = "隨機生成內容:"+ran.RandomJianHan(10);//此處生成的是長度為10的字符串

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM