Use of the JMeter Bean Shell (ii)

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

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

Action variables: variables can be accessed by using the bean shell built-in object VARs

A) vars.get ("name"): Gets the value of the variable from the JMeter

b) vars.put ("Key", "value"): Data stored in the JMeter variable

Action Properties: properties can be accessed by using the bean shell built-in object props

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

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

To reference an external jar package:

The above four or five describes how to reference external Java and class files, if the file is a long way we can make them into a jar package and then call in Jemter, how to use can be seen in my previous article has introduced: JMeter Bean Shell Use (a).

One thing to add here is the way the jar is introduced in JMeter:

1, the previous article has been used: put the jar package in the JMeter directory \apache-jmeter-2.13\lib\ext

2. Add the jar packages that need to be referenced directly at the bottom of the test plan's right panel, such as:

Vii. Other uses:

1. Define the following three variables in test plan:

2. The Bean shell can be scripted as follows:

A, bean shell can accept incoming parameters, such as: ${u1} ${U2} ${u3}

b, parameters can be extracted by bsh.args[] sequentially

c, the bean shell provides a built-in variable parameters to hold the collection of parameters

3. Operation Result:

In 1, enter these two sentence settings:

Responsecode = 500;
Responsemessage = "This is a test";

In 2, enter these two sentence settings:

Log.info (Parameters);

Log.info (Label);

Use of the JMeter Bean Shell (ii)

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.