2012-07-26 14 views
8

Burada mutlak bir çaylak var (JAVA demek demek istediğim), bir çözüm aramak için harcadım, şimdi sadece kendimi çekmek istiyorum.
HTTP İsteği'nin hemen üstünde yer alan fasulye kabuğu onaylama işleminde bir dize oluşturmak istiyorum. JMeter, HTTP isteğinde beanshell değişkenini kullanın.

  • BeanShell yazdığım:

    String docid="abcd"; 
    

    göndermek, HTTP Request olarak

  • i ${docid} eklemek parametreleri (gerçekte ben bazı değişkenlerle bir dizeyi bağlamak isteyen).

cevap

14

BeanShell Assertion description section bulabilir şunlardır:

vars - JMeterVariables - e.g. vars.get("VAR1"); vars.put("VAR2","value"); vars.putObject("OBJ1",new Object()); 
props - JMeterProperties (class java.util.Properties) - e.g. props.get("START.HMS"); props.put("PROP1","1234"); 

Yani kullanmak aşağıdaki Beanshell kodu (sizin durumunuzda BeanShell Onaylama numune) içinde Jmeter değişkeni ayarlamak için:

String docid = "abcd"; 
vars.put("docid",docid); 

veya sadece

vars.put("docid","abcd"); 

ve daha sonra, HTTP İsteğinizde yaptığınız gibi $ {docid} olarak başvurabilirsiniz.

+0

Yardımlarınız için çok teşekkür ederim! Çok fazla şey istemediğimde, yalnızca bir fasülye iddiasında bir değişkeni nasıl birleştirebileceğim. Amacım aslında bir döngü çalıştırmak ve dizeyi birleştirmeye devam etmektir. Bu örnekleyiciyi bir döngü denetleyicisinde çalıştırmayı planlıyorum ve değişkeni her bir döngüde – Suyash

+0

Yukarıdaki Yorumu yoksay, bende birleştirme yapmayı ve aynı zamanda döngü yapmayı başardım, ancak bir şekilde değeri iletemiyorum. diğerine bir tane fasulye kabuğu örneği. vars.get ("varname") denedim ama çalışmıyor. sadece http istek tipi değişkenleri için çalışır. – Suyash

+0

Hm. En azından fasulye kabuğu örnekleyicileri arasındaki sorun değişkenini izlemek için [Debug Sampler] (http://jmeter.apache.org/usermanual/component_reference.html#Debug_Sampler) 'ı kullanmayı deneyin. Aynı zamanda props.get/.put da aynı şekilde kullanabilirsiniz - belki bu daha iyi çalışacaktır. –

0

olarak JavaScript dili seçin Başka biri için örnekleyici, değişkenleri kullanmalısın.

vars.put("a", "something") 

diğer örnekleyicide olarak, böyle bir şey olmalı: Kabuk Örnekleyicileri ayıklama Hakkında

String otherSampler = vars.get("a") 

- Çok kolay değildir. SampleResult nesnesini kullanmanızı öneriyorum. Nasıl kullanılır, burada görebilirsiniz Debugging Bean Shell Sampler

İlgili konular