JMeter Bean Shell Use (i)

Source: Internet
Author: User
Tags encode string response code vars

Http://www.cnblogs.com/puresoul/p/4915350.html

First, what is the bean Shell

    • BeanShell is a scripting language that conforms fully to the Java syntax specification and has its own syntax and methods.
    • BeanShell is a loosely typed scripting language (this is similar to JS);
    • BeanShell is written in Java, a small, free, downloadable, embedded Java source code interpreter with object scripting language features and a very streamlined interpreter jar file size of 175k.
    • BeanShell executes standard Java statements and expressions, plus some scripting commands and syntax.

Official website: http://www.BeanShell.org/

Ii. What Bean Shell does JMeter have?

    • Timer: BeanShell Timer

    • Front Processor: BeanShell preprocessor

    • Sampler: BeanShell Sampler

    • Post Processor: BeanShell postprocessor

    • Assertion: BeanShell Assertion

    • Listener: BeanShell Listener

Third, the use of BeanShell

In this introduction, the use of BeanShell preprocessor, other beahshell can be analogous. In this we use the Beahshell call ourselves to write the tool class, the tool class implements the password encryption, decryption function:

1, write the code in Eclipse, and then make the class into a jar package (right-click on the class->export->jar file)

2. Put the jar package into the JMeter directory \apache-jmeter-2.13\lib\ext

3. Open JMeter, add an HTTP sampler (call Login interface), add a BeanShell under sampler preprocessor

4, in BeanShell Preprocessor import our jar package, call inside the Add, solve the password method, the results are stored in the JMeter variable, the following two methods are the most commonly used in BeanShell:

    • Vars.get (String paramstr): Get variable Value
    • Vars.put (String key,string value): To save the data to the JMeter variable

Import com.pingan.ff.account.user.utils.*;//Encryption System.out.println ("* * * * * * * * * * * * * *); String password = "123123"; String encode = securityutils.getkey (password);//Invoke the method in the tool class to encrypt System.out.println ("Set my Encode"); Vars.put ("Encode" , encode);//Save the value to the JMeter variable encode string getencode=vars.get ("encode"); System.out.println ("Get my Encode:" + getencode);

5, the encrypted password is stored in the JMeter variable, and then in the HTTP sampler can be used through ${encode}:

6. Execute script:

Four, Bean shell common built-in variables

  JMeter has built-in variables in its BeanShell that allow users to interact with JMeter, the main variables and how to use them as follows:

    • Log: Write information to Jmeber.log file, using method: Log.info ("This is log info!");

    • CTX: This variable refers to the context of the current thread and is used in the following way: Org.apache.jmeter.threads.JMeterContext.

    • VARs -(jmetervariables): Manipulate the JMeter variable, which actually refers to the local variable container in the JMeter thread (essentially map), which is a bridge between test cases and BeanShell interaction, common methods:

A) Vars.get (String key): Gets the value of the variable from the JMeter

b) Vars.put (String key,string value): Data is stored in the JMeter variable

More ways to see: org.apache.jmeter.threads.JMeterVariables

    • Props -(Jmeterproperties-class java.util.Properties): Manipulate the JMeter property, which references the configuration information of JMeter, can get the properties of JMeter, It is used in a similar way to VARs, but it can only be put in a string type value, not an object. Corresponds to Java.util.Properties.

A) Props.get ("START.  HMS "); Note: Start.hms is a property name, defined in file jmeter.properties

b) Props.put ("PROP1", "1234");

    • prev -(Sampleresult): Gets the information returned by the previous sample, common methods:

A) getresponsedataasstring (): Get response information

b) Getresponsecode (): Get Response code

More ways to see: Org.apache.jmeter.samplers.SampleResult

    • Sampler-(Sampler): Gives access to the current sampler

JMeter Bean Shell Use (i)

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.