JMeter use beanshell variable in HTTP Request

后端 未结 3 1993
悲&欢浪女
悲&欢浪女 2021-02-19 19:13

I\'m an absolute rookie here (JAVA i mean), spent hours looking for a solution, now i just want to shoot myself.
I want to create a string in the beanshell assertion which i

相关标签:
3条回答
  • 2021-02-19 19:52

    If you need to pass value from one bean shell sampler to another, you should use variables.

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

    In other sampler, you should have something like:

    String otherSampler = vars.get("a")
    

    About debugging Shell Samplers - It is not so easy. I suggest to use SampleResult object. How to use it, you can see here Debugging Bean Shell Sampler

    0 讨论(0)
  • 2021-02-19 20:15

    In BeanShell Assertion description section you can find the following:

     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");
    

    So to set jmeter variable in beanshell code (BeanShell Assertion sampler in your case) use the following:

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

    or simply

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

    and then you can refer it as ${docid}, as you've done in your HTTP Request.

    0 讨论(0)
  • 2021-02-19 20:16

    If you don't know Java well, you can use any of BSF or JSR223 Test elements and then select Javascript language as scripting language

    http://jmeter.apache.org/usermanual/component_reference.html#JSR223_Sampler

    0 讨论(0)
提交回复
热议问题