尝试使用while循环生成随机字符串,但是,每次循环迭代时它都会生成相同的数字。有没有其他方法可以使用while循环生成随机字符串?
代码:
int x=0;
while(x<10){
log.info("generated-------${__RandomString(6,1234567890,)}---");
x++;
}
Response in logs:
INFO - jmeter.util.BeanShellTestElement: generated-------908410---
INFO - jmeter.util.BeanShellTestElement: generated-------908410---
INFO - jmeter.util.BeanShellTestElement: generated-------908410---
INFO - jmeter.util.BeanShellTestElement: generated-------908410---
INFO - jmeter.util.BeanShellTestElement: generated-------908410---
INFO - jmeter.util.BeanShellTestElement: generated-------908410---
INFO - jmeter.util.BeanShellTestElement: generated-------908410---
INFO - jmeter.util.BeanShellTestElement: generated-------908410---
INFO - jmeter.util.BeanShellTestElement: generated-------908410---
INFO - jmeter.util.BeanShellTestElement: generated-------908410---
答案 0 :(得分:1)
最好使用JSR223 Test Elements和Groovy语言而不是Beanshell,这样您将获得更多性能,更多Java兼容性和更多语言功能。这是一个示例Groovy代码:
import org.apache.commons.lang.RandomStringUtils;
1.upto(10, {
log.info(RandomStringUtils.randomNumeric(6))
})
有关更多信息和示例,请参阅Groovy Is the New Black文章
答案 1 :(得分:1)
String y;
String extcode1;
log.info("------------connecting---------");
public class GenerateRandomString {
public static final String DATA = "ABCDEFGHIJKLMNOabcdefghijklmno1234567890";
public static Random RANDOM = new Random();
public static String randomString(int len) {
StringBuilder sb = new StringBuilder(len);
for (int i = 0; i < len; i++) {
sb.append(DATA.charAt(RANDOM.nextInt(DATA.length())));
}
y =sb.toString();
log.info(""+y);
return sb.toString();
}
}
int i=0;
while(i<10){
extcode1=GenerateRandomString.randomString(6);
i++;
}
OUTPUT:
=========
2017/03/06 11:59:26 INFO - jmeter.util.BeanShellTestElement: 7BHc2d
2017/03/06 11:59:26 INFO - jmeter.util.BeanShellTestElement: IDo7oN
2017/03/06 11:59:26 INFO - jmeter.util.BeanShellTestElement: Gj3mgK
2017/03/06 11:59:26 INFO - jmeter.util.BeanShellTestElement: iFcDOi
2017/03/06 11:59:26 INFO - jmeter.util.BeanShellTestElement: ka3gEO
2017/03/06 11:59:26 INFO - jmeter.util.BeanShellTestElement: KMC9En
2017/03/06 11:59:26 INFO - jmeter.util.BeanShellTestElement: lFocjE
2017/03/06 11:59:26 INFO - jmeter.util.BeanShellTestElement: 4kK2dj
2017/03/06 11:59:26 INFO - jmeter.util.BeanShellTestElement: I3c9an
2017/03/06 11:59:26 INFO - jmeter.util.BeanShellTestElement: HDAG7k