2017-02-15 23 views
1

whileループを使用してランダムな文字列を生成しようとすると、ループが繰り返されるたびに同じ番号が生成されます。 whileループを使ってランダムな文字列を生成する方法はありますか?Jmeterで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
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 
ため Groovy Is the New Black記事を参照してください。ここでの例Groovyのコードであります
1
  1. 私はスクリプトにインライン化機能をお勧めしません、あなたが予期しない動作に遭遇することがあり、「パラメータ」セクションを使用することをお勧めします代わりに
  2. __RandomString()機能はしていませんあなたのユースケースをサポートするように設計されているようです。
  3. BeanshellではなくJSR223 Test ElementsGroovyの言語を使用する方がよいでしょう。この方法でより多くのパフォーマンスを得ることができます。互換性とより多くの言語機能。

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

    Groovy random string JMeter

詳細および例

関連する問題