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

时间:2017-02-15 04:25:50

标签: jmeter beanshell

尝试使用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--- 

2 个答案:

答案 0 :(得分:1)

  1. 我不建议将函数内联到脚本中,可能会遇到意外行为,最好使用&#34;参数&#34;而不是
  2. __RandomString()功能似乎并非旨在支持您的用例
  3. 最好使用JSR223 Test ElementsGroovy语言而不是Beanshell,这样您将获得更多性能,更多Java兼容性和更多语言功能。这是一个示例Groovy代码:

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

    Groovy random string JMeter

  4. 有关更多信息和示例,请参阅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