在 Jmeter 中使用 while 循环的随机字符串

Random String using while loop in Jmeter

尝试使用 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--- 
  1. 我不建议将函数内联到脚本中,您可能会 运行 出现意想不到的行为,最好使用 "Parameters" 部分代替
  2. __RandomString() 函数似乎不支持您的用例
  3. 最好使用 JSR223 Test Elements and Groovy 语言而不是 Beanshell,这样您将获得更高的性能、更多的 Java 兼容性和更多的语言特性。这是一个示例 Groovy 代码:

    import org.apache.commons.lang.RandomStringUtils;
    
    1.upto(10, {
       log.info(RandomStringUtils.randomNumeric(6))
    })
    

有关详细信息和示例,请参阅 Groovy Is the New Black 文章

    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