The most essential and commonly used JMeter API classes available to BeanShell components are listed in the following section. Let’s deep down pre-defined beanshell variables in JMeter and more… The following is found at the bottom of the BeanShell sampler component:

For the script, the following variables are defined:

“SampleResult, ResponseCode, ResponseMessage, IsSuccess, Label, FileName, ctx, vars, props, log”

  • Sample Result

It corresponds to the org.apache.jmeter.samplers class in JMeter. All of the javadoc’s fields and methods may be accessed and invoked. Here’s an example of a scenario: ​

getUrlAsString currentURL = SampleResult.getUrlAsString currentURL = SampleResult.getUrlAsString current ()

  • ResponseCode

The response code is a java.lang variable. The sampler response code is represented as a string. Here’s an example of a scenario:

Response Code - Pre-Defined Beanshell Variables in JMeter

I want to find the right testing type for my product

I want QA experts to test my application

I’m looking for a long-term testing partner   

I want to consult a QA Specialist   

  • ResponseMessage

java.lang.ResponseMessage is a java.lang.ResponseMessage. A response message is represented as a string.

The use case for the ResponseCode is the same as for the ResponseCode.

  • IsSuccess

Başarı bir Java.lang yapıcısıdır. Bu, örnekleyicinin başarılı olup olmadığını gösteren bir Boole değeridir. Doğru olarak ayarlanırsa Örnekleyici “geçti” olarak kabul edilir. Aksi takdirde “başarısız” olarak kaydedilecektir.

ısSuccess - Pre-Defined Beanshell Variables in JMeter

  • Label

Java.lang is the label. The sampler label is represented by a string. It may be gotten or set like any other String, and it will appear as a sampler label in the test results.

  • File Name

The name of the file is java.lang. String containing the name of a BeanShell script file (as specified in the BeanShell Sampler’s “Script file” stanza).

  • ctx

The most powerful variable available to BeanShell is ctx. It’s the org.apache.jmeter.threads package. The JMeterContext class is essentially JMeter. It gives you read/write access to the JMeter engine, samplers, and their output, as well as variables and attributes.

  • vars

The most often used component is vars (JMeter variables). It’s a thread from the org.apache.jmeter.threads package. The JMeterVariables class allows you to read and write current variables, as well as enumerate/change existing variables, create new ones, and get nested properties. Vars is the most commonly used component (JMeter variables). It’s one of the org.apache.jmeter.threads package’s threads. You may use the JMeterVariables class to read and write current variables, as well as enumerate/change existing variables, create new ones, and obtain nested properties.

vars - Pre-Defined Beanshell Variables in JMeter

  • props

This is similar to “vars,” only it exposes JMeter properties instead. See the java.util.javaDoc for further information. For further information, see JMeter attributes and JMeter documentation. The main difference between props and vars is that props have a “global” scope, whereas “vars” have a scope that is confined to the current thread group.

  • log

The org.apache.log is represented by log. Append a message to the jmeter.log file using the Logger class. For further information, see the logger JavaDoc. Here’s an example of a use case:

log - Pre-Defined Beanshell Variables in JMeter


Because BeanShell is run within the Rhino engine, there is no other way to figure out what’s wrong than looking at the jmeter.log file for anything like:

Invoking the bsh method failed.

and determining where the script failed using System.out.println(“something”) or“something”).

For more blog about BeanShell you can visit here

How the Loadium Load Testing Cloud Complements and Strengthens JMeter

While JMeter is a powerful and appealing load testing tool, we advocate pairing it with Loadium, which allows you to simulate up to millions of people in a single developer-friendly, self-service platform. You can test the performance of any mobile app, website, or API in under 10 minutes using Loadium. Here are some of the reasons why we think the Loadium/JMeter combo will appeal to developers:

  • Simple Scalability: Creating large-scale JMeter tests is simple. Loadium allows you to run far bigger loads than you could with an in-house lab.
  • Loadium’s recorder makes it easy to get started with JMeter right immediately, and Loadium also offers comprehensive lessons and suggestions.
  • Web-based Interactive Reports: Overcome the constraints of JMeter’s standalone UI by simply sharing findings across remote teams.
  • Built-in Intelligence: Loadium offers on-demand geographic load distribution, as well as built-in CDN-aware testing.

Request a demo or enter your URL in the form below to get started with Loadium in minutes.

Enjoy load testing:)