j
June 21, 2021

Introducing BlazeMeter Chrome Plugin For JMeter and Selenium

Announcements

What happens when you fuse two of the most popular Open Source testing tools into one script? BlazeMeter has just released the brand new version of its free Chrome extension. In addition to creating Apache JMeter™ based scenarios, version 4 of the BlazeMeter Chrome Extension also creates Selenium scenarios to simulate your business case.

But wait, there’s more. The recorder creates a synchronized version of the JMeter and Selenium test, enabling you to analyze the load and GUI, simultaneously, for each action and request. Now that’s powerful performance testing. Get the BlazeMeter Chrome plugin here.

Back to top

Why You Need the BlazeMeter Chrome Plugin

JMeter is excellent for simulating your business case on the protocol level (HTTP/s, HLS). It allows you to squeeze 500, 750, and even more than 1000 threads into a single 2vCPU x 4GB ram machine.

The problem is, it is not a browser. It lacks rendering time, time to first interaction, and other browser KPIs. (JMeter is not a browser but there are some steps you can take to make it closer to a browser - read more on BlazeMeter Docs.)

Selenium on the other hand, utilizes browsers to run your tests, which provide the exact user experience (UX) your customer will experience. Selenium also allows you to see if your site has issues on a specific type/version of the browser.

However, as you might have guessed, this comes with the cost of resources… Selenium scripts quickly consume the system resources giving you just a handful of threads from the same 2vCPU x 4GB ram machine.

In order to capture the real UX and generate massive load - the tester had to:

  1. Create a JMeter script based on the business case
  2. Create a Selenium script using the same steps they’ve done for JMeter
  3. Sync the transactions and script executions

Not anymore - we’ve got you covered.

Back to top

BlazeMeter Chrome Plugin Overview

Support for Native Selenium

BlazeMeter went through a revolutionized upgrade, introducing our V4 based engines that runs (you guessed it) on our OpenSource Test Automation framework - Taurus. (Read more about it here on BlazeMeter Press Releases).

This transition allows BlazeMeter to run several Open Source tools such as Selenium, JMeter, Gatling, The Grinder, Locust.io and many more (for the full list - look here on Taurus).

By supporting a native Selenium execution - BlazeMeter can run the protocol level load (such as JMeter, Gatling, Locust.io) along with Selenium, to give the tester the full picture and answer questions like:

  1. What do my customers see during peak time load?
  2. Does a 1.5s response time on a specific page hurt the user experience?
  3. What is the impact to the user experience between customers coming from Virgina compared to Ireland?

And many more…

These questions (and their answers) provide a better understanding of the application health, for driving technical and business decisions. (Where should we focus our refactoring efforts? Do we have a problem from a specific geolocation?)

1 Recording, 1 Business Case -> 2 Scripts Synced to Tell The Full Story

The advantage described above encouraged us to go and ease the testing pain even more. We moved forward to create even more accurate and more realistic tests, so that our customers would be able to experiment and get answers to such questions faster and on their own.

With the release of the BlazeMeter Chrome Extension v4 - we are taking a major step towards a simple and better way of creating and running performance tests.

The Chrome Extension will record your HTTP/s requests and the browser user actions (click, double click, typing text etc..). By using the transaction window - the user can define Steps (UX and the HTTP/s requests) .

These Steps (a.k.a Transactions) create the sync between the load and the user experience during the test by simply running the two scripts together and correlating the KPIs for these steps.

Running Load and UX Scripts together: A simple example

Let’s assume we have the following Business Case:

  • Transaction: Homepage
    • Go to blazedemo.com
  • Transaction: Select Route
    • Select the route from Boston to Dublin
  • Transaction: Find Flights
    • Press find flights
  • Transaction: Select Flight
    • Select a flight

By running the Load (JMeter) and the UX (Selenium) scripts together, the tester can now decide:

  1. Is our Homepage responsive enough for our users when under load?
  2. How is the “Select Route” UX step affected by the load?
  3. When the application is saturated, which UX step is affected the most?
  4. I see the “Find Flight” step takes 2.5s - what is the Time to First Interaction? (Maybe the visible page is loaded in 1s and the rest are below-the-fold)

JMeter and Selenium recorder

Debug and Edit Your Selenium Script

We’ve introduced a small debugger to allow users to replay their recording and make small adjustments if needed - before downloading and running their tests.

Features include:

  1. Users can add new steps, edit current ones and even remove an accidental click to complete the scripts
  2. Test and edit Selenium based assertions to make sure they are working
  3. Replay Speed - control the speed of your script replay to move faster to the relevant step, and slow it down in order to better understand the issue
  4. Breakpoint - What is a debugger without breakpoints :)

synchronizing jmeter and selenium, load and gui tests

Get the JMeter and Selenium Scripts

After the recording is complete you can select which scripts to download:

  1. JMeter (JMX) - the same thing we always have, integrating every step from the Transaction Windows as a JMeter Transaction Controller, wrapping the recorded HTTP/s request of that step
  2. Selenium (YAML) - a Taurus YAML based Selenium script, wrapping the recorded user actions into steps ready to be executed locally (using Taurus) or in BlazeMeter
  3. Taurus JMeter & Selenium (YAML) - a ready to go Taurus YAML base test to kick off a JMeter and Selenium performance test

what does my website look like under a load

All of these scripts can also be run in BlazeMeter, obviously, where they can be massively scaled, shared and analyzed in insightful reports.

Back to top

How Can I Start Using the BlazeMeter Chrome Recorder?

First, you’ll need to add the Chrome Extension to your Chrome from the Chrome Web Store

  1. Open a new tab
  2. Click Web Store
  3. Search for BlazeMeter
  4. Press the plugin and click on the “Add to Chrome” on the upper right corner

(Or click here to see the Chrome Web Store).

blazemeter chrome extension script recording

You can start recording right away, or you can go through the documentation on the BlazeMeter Knowledge Base.

Back to top

Get the BlazeMeter Chrome Plugin Today

  • The BlazeMeter Chrome Extension V4 will enable testers to create advanced Performance tests in a faster, simpler, and more accurate way.
  • By combining Selenium and JMeter - testers have a better understanding of the real user experience their customers have in the tested business case.
  • The BlazeMeter Chrome Recorder doesn’t require installing Selenium nor JMeter to record and get these the scripts - so anyone with a Chrome Browser can start creating scripts.
  • The BlazeMeter Chrome Recorder is beginner friendly (UI based, YAML output) so anyone can download and experiment. But it’s also fit for advanced users: you will save a lot of the time it would take you creating these business cases from scratch.

And this is just the beginning…

Get the BlazeMeter Chrome Extension here.

START TESTING NOW

 

Related Resources

Back to top