Apache JMeter is an open source load testing tool that enables you to execute performance tests on your app or website. To run a load test, you need to create a script that will detail the steps of your testing scenario and then run it. You can run your JMeter script locally on JMeter, or in the Cloud or from behind a firewall on BlazeMeter. This article will take you through an overview of running a JMeter test on BlazeMeter.
2. JMeter JMX Script Creation via BlazeMeter
@RapidValue Solutons Page 2
Recording User Actions and Exporting JMX Script Using BlazeMeter
You need to follow the steps below to perform recording using BlazeMeter plugin.
1. Install & launch Chrome browser.
2. Install BlazeMeter plugin from Chrome marketplace
(https://chrome.google.com/webstore)
3. Once BlazeMeter plugin is installed, launch Chrome browser and navigate to the
required URL.
4. Click on the BlazeMeter icon in Chrome browser. Provide the ‘Test name’ and click on
‘Start Recording’ icon.
5. Now, browse through the application. The APIs will get recorded in BlazeMeter.
6. Once your required recording of user actions is completed, click on the ‘Stop’ button.
7. To save the recorded script in JMX format, you need to login to BlazeMeter. If you have
an account, you can directly login. Else you need to sign up. If so, click on ‘Sign up’
button. You can either create a new account or can register using existing google
account.
3. JMeter JMX Script Creation via BlazeMeter
@RapidValue Solutons Page 3
8. After successful signup, you will be redirected to the BlazeMeter home page.
9. Now, to save the script in JMX format, click on the BlazeMeter icon and then on ‘Save’
button.
10. You will be prompted with different formats. In that select JMeter. (JMX)
11. Select the domain in which you need to run the test and finally click on ‘Save’. This will
export the script to JMX format and download it to our system.
12. Open script in JMeter and execute the downloaded script.
4. JMeter JMX Script Creation via BlazeMeter
@RapidValue Solutons Page 4
13. Based on your needs, you can add listeners to see the result, add processors (Pre and
Post) to handle additional logic change the parameters in the recorded script etc.
Now, since you have learnt how to record user actions in Chrome via BlazeMeter and export
the recording as JMeter JMX file, let’s quickly explore other features that BlazeMeter offers
for users.
Familiarizing BlazeMeter Dashboard
The Dashboard has 2 navigation tabs. The top one indicates the different types of testing
supported by BlazeMeter. It includes Functional, Performance, Mock services and API
monitoring testing. The navigation bar just below the first navigation bar lists different options
available within the selected testing type. That is, if Functional testing is selected from the
top navigation bar, then items relating to only functional tests will be available in the below
navigation bar.
Home - Return to the initial home page.
Workspace - This lists the workspaces created by you or which have permission to
access.
Projects - Lists recently visited projects within the workspace. Clicking on "Show all
projects" at the bottom of the list displays all projects within the currently selected
workspace.
Tests - Lists recently visited tests. Clicking on "Show all tests" at the bottom of the
list displays all Tests within the currently selected workspace.
5. JMeter JMX Script Creation via BlazeMeter
@RapidValue Solutons Page 5
Reports - Lists recently visited test reports. Clicking on "Show all reports" at the
bottom of the list displays all Tests within the currently selected workspace.
Active Runs - This appears as a number and represents the number of tests
currently active.
Create Test - Create a test type that fits the current testing mode you have selected
Clicking on the username at the top-right corner leaves you with two options:
Personal Settings: Allows the user to set the logged in user details.
Logout: To logout from the logged in user account.
Below the username, there are two more options:
Invite New Members - Allows you to send invitations to users to join your account.
Settings - Allows to edit settings like create API Key, change password, change test
location, or choose time zone, account settings and workspace settings.
BlazeMeter Testing Types
Functional Testing
BlazeMeter allows user to do functional testing on the application. For this, the user
should select ‘Functional’ menu from the navigation bar. This will display option to
Create Test.
On clicking on the ‘Create Test’ button, user will be provided with ‘API Functional
Test’ and ‘GUI Functional Test’.
API Functional Test - This feature allows you to test whether APIs are
reachable and responding as intended. API Functional test option will
provide the following options where you can add APIs, provide headers,
query parameters and other details required to run that API.
6. JMeter JMX Script Creation via BlazeMeter
@RapidValue Solutons Page 6
GUI Functional Test – This allows user to upload Selenium script to test
the application's graphical user interface (GUI). If the user is not much
aware of the scripting language, then he/she can record the actions using
BlazeMeter and upload the same here to run the testing.
Performance Testing
The performance tab will allow the user to create test to perform performance testing
On clicking on the ‘Create Test’ button, user will be provided with the following
options:
Performance Tests - Selecting ‘Performance Test’ option will redirect the
user to the below screen, where you can upload your JMX script and set
the required configurations to run the performance testing. The script can
be either written by the user or can be recorded using BlazeMeter
extension.
7. JMeter JMX Script Creation via BlazeMeter
@RapidValue Solutons Page 7
User is also allowed to add APIs, in which performance testing need to be
executed, directly into the BlazeMeter using ‘Enter URI/API calls’ option
and configure the setting required.
API Monitoring
API Monitoring allows you to monitor a group of one or more HTTP requests which
can be public/private/third-party, executed sequentially to evaluate their uptime,
performance and correctness. At each step in the test, user can define Assertions to
validate response data and Variables to extract data to be used in subsequent
requests. This feature works in integration with Runscope. Runscope is a SaaS-
based solution for API performance testing, monitoring and debugging.
Reports
BlazeMeter provides us with diverse types of reports. Here, you can discuss some of the
main reports available.
1. Summary report: As the name specifies, this report provides with the details like
Max number of users involved in testing, Average Throughput (average number of
HTTP/s requests generated per second) Errors Rate, Average Response Time, 90
Percentile of Response Time and Average Bandwidth (MB/s).
It will also provide the load and response time details graphically, which is more
easily understandable by users.
8. JMeter JMX Script Creation via BlazeMeter
@RapidValue Solutons Page 8
2. Timeline Report: This report provides the information of each API separately or as
group along with time, graphically.
3. Request Stats Report - This report shows statistics for each request in your test.
4. Engine Health Report - The Engine Health indicates whether the test infrastructure
itself is the cause of bottlenecks or errors appearing while testing.
9. JMeter JMX Script Creation via BlazeMeter
@RapidValue Solutons Page 9
Conclusion
We hope that you have gained a basic understanding of BlazeMeter and its capabilities,
which will help you to tap into, tweak and address your upcoming project testing needs. So,
next time if something doesn’t go as planned with recording script for JMeter, you can
always try BlazeMeter as an alternative and still progress, rather than being deadlocked and
getting stressed as you need to fix the proxy settings. In addition, as discussed, you can use
BlazeMeter for other testing types as well and it doesn’t require much skillset ramp up time.
This would eventually help you to address the issues faster and facilitate quick test cycles
without compromising on the testing type or scenario coverage.
By,
Indu Raj, Software Test Engineer