jmeter-常用的一些java代码

记录在jmeter中经常使用的一些java代码。

一、字符补齐

“计数器”元件存在补齐的功能,但有时还是会存在一些需要补齐字符的情况,而且仅通过计数器可能不是那么易操作。

//str-需补位的字符 length-目标长度 fit-补位字符串
String fillBlank(String str, int length, String fit) {
	String temp = "";
	if(str.length() < length) {
		//计算需要补齐的位数
		for(int i = 0; i < length - str.length(); i++) {
			temp = fit + temp;
		}
		//在字符串前拼接补位字符串
		str = temp + str;
	}
	return str;
}

二、字符串/整型相互转换

参数化数据时,偶尔需要对某个数据特殊处理。

// 字符串转整型
// 通过vars.get("变量名")获得的值为字符串,可能需要将它转为整型用于后续代码处理
// 可以使用Integer.parseInt强制转换
int level = Integer.parseInt(vars.get("level"));
for(int i = 1; i <= level; i++) {}	

// 整型转字符串
// 通常用于日志输出,vars.put变量赋值
// 可以通过toString()方法进行转换
int i = 22;
log.info(i.toString());

三、字符串替换

可以用于字符串模板中的特定字符替换,一些固定模板格式的数据可通过此方法进行参数修改。

// 自定义字符串模板,可以使用“用户参数”设置变量,如:temp
// "This is testcontent [replace]."

// 在BeanShell中使用
String temp = vars.get("temp");
for(int i = 0; i < 3; i++) {
    // 替换
    temp = temp.replace("[replace]", i.toString());
}

四、生成随机数

在jmeter中也可以使用${__Random(min,max,)}生成随机数,此处记录使用java代码生成随机数的方式。

// System.currentTimeMillis()设置随机种子
Random random = new Random(System.currentTimeMillis());
// 使用,生成[min,max]的随机整数
int x = random.nextInt(max) % (max - min + 1) + min;

// 以生成[3,10]随机数为例
int x = random.nextInt(10) % (10- 3 + 1) + 3;
// 首先,生成[0-10)之间的随机数
// 其次,对(10-3+1)=8取余,得到[0-7]之间的随机数
// 然后,加上min=3
// 最后,生成的是3-10的随机数

五、写入内容到文本文件

将指定的文本内容写入到指定的文本文件中。

// 写入内容到目标文件, false-覆盖写入,true-追加写入
FileWriter fstream = new FileWriter(vars.get("dir") + File.separator + "data\\username.csv", false);
BufferedWriter out = new BufferedWriter(fstream);

// 通过vars.get(变量名)获取查询到的用户名集合
out.write(vars.get("username_1"));
out.close();

fstream.close();

六、随机选取文件

在某文件目录下随机选取文件。

File folder = new File(vars.get("dir") + File.separator + "files\\image");
File[] files = folder.listFiles();
Random rnd = new Random();
vars.put("file", files[rnd.nextInt(files.length)].getAbsolutePath());

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值