June 21, 2021 Introducing BlazeMeter Chrome Plugin For JMeter and SeleniumAnnouncementsBy Refael BotbolWhat 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.Table of Contents:Why You Need the BlazeMeter Chrome PluginBlazeMeter Chrome Plugin OverviewHow Can I Start Using the BlazeMeter Chrome Recorder?Get the BlazeMeter Chrome Plugin TodayWhy You Need the BlazeMeter Chrome PluginJMeter 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 here).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:Create a JMeter script based on the business caseCreate a Selenium script using the same steps they’ve done for JMeterSync the transactions and script executionsNot anymore - we’ve got you covered.BlazeMeter Chrome Plugin OverviewSupport for Native SeleniumBlazeMeter 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:What do my customers see during peak time load?Does a 1.5s response time on a specific page hurt the user experience?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 StoryThe 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 exampleLet’s assume we have the following Business Case:Transaction: Homepage Go to blazedemo.comTransaction: Select Route Select the route from Boston to DublinTransaction: Find Flights Press find flightsTransaction: Select Flight Select a flightBy running the Load (JMeter) and the UX (Selenium) scripts together, the tester can now decide:Is our Homepage responsive enough for our users when under load?How is the “Select Route” UX step affected by the load?When the application is saturated, which UX step is affected the most?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)Debug and Edit Your Selenium ScriptWe’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:Users can add new steps, edit current ones and even remove an accidental click to complete the scriptsTest and edit Selenium based assertions to make sure they are workingReplay 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 issueBreakpoint - What is a debugger without breakpoints :)Get the JMeter and Selenium ScriptsAfter the recording is complete you can select which scripts to download: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 stepSelenium (YAML) - a Taurus YAML based Selenium script, wrapping the recorded user actions into steps ready to be executed locally (using Taurus) or in BlazeMeterTaurus JMeter & Selenium (YAML) - a ready to go Taurus YAML base test to kick off a JMeter and Selenium performance testAll of these scripts can also be run in BlazeMeter, obviously, where they can be massively scaled, shared and analyzed in insightful reports.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 StoreOpen a new tabClick Web StoreSearch for BlazeMeterPress the plugin and click on the “Add to Chrome” on the upper right corner(Or click here to see the Chrome Web Store).You can start recording right away, or you can go through the documentation on the BlazeMeter Knowledge Base.Get the BlazeMeter Chrome Plugin TodayThe 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 Resources6 Easy Steps to Testing Your Chrome Extension With SeleniumSelenium vs. JMeter: Which One Should You Choose, and When?