2017-02-15 98 views
1

Попытка генерировать случайную строку, используя цикл while, однако, она генерирует одинаковое число каждый раз, когда цикл повторяется. Есть ли другой способ генерации случайной строки, используя цикл while?Случайная строка с использованием цикла while в Jmeter

Код: раздел

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
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 
1
  1. Я бы не рекомендовал встраивание функции в сценарии, вы можете столкнуться с неожиданным поведением, то лучше использовать «Параметры» вместо
  2. __RandomString() функция не похоже, предназначены для поддержки вашего использования.
  3. Лучше использовать JSR223 Test Elements и Groovy язык, а не Beanshell, таким образом вы получите больше производительности, больше Java c ompatibility и другие возможности языка. Вот пример Groovy код:

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

    Groovy random string JMeter

См Groovy Is the New Black статью для получения дополнительной информации и примеров

 Смежные вопросы

  • Нет связанных вопросов^_^