Skip to content

Load Testing Blog

Using custom JAR files in JMeter

JMeter has many plug-ins and downloadable JAR Files you can use to support your testing, it is also possible to write your own custom Jar files and use these as well.

Why would you want to do that, you may say, well whilst it is unlikely that you would need to create anything too complicated.

You may feel the need to create utilities to support your own in-house performance testing or just something to make your testing process easier.

We could easily write a custom Jar file to push the results of test run to any reporting tools your organisation uses, if they expose their API's, at the end of the test execution cycle.

Alternatively, you could write something that sends your results to a mail server or web server for the purposes of results distribution.

For the purposes of this post lets imagine a situation where your company has a dashboard technology that displays the status of development builds or testing progress through a series of APIs, there are many examples of these type of status boards and they are common in many technology departments.

And let’s write a JAR file to output our JMeter test results in the form of JSON which can be sent to this imaginary endpoint we will then use the Custom Class we create in a JMeter test script.

Let’s get started!

OctoPerf 11.9 - Azure on demand, new JMeter, setup/teardown threadgroups and more

Here we are for yet another new release of OctoPerf. We've actually released two minor versions since the last update post, but this time we will also release a long awaited feature, Microsoft Azure on demand load generators!

We kept it in our beta version for a while since we wanted to be absolutely sure it can be used for proper testing. We are quite satisfied with it at the moment, but note that the agent startup time is much longer on azure than on other providers, you should expect to wait a few more minutes if you are using it.

Of course we also have other new and exciting features to share, so let's dive into it.

Improvements

Azure load generators

Azure

As stated in the introduction, you can now select Azure load generators from the locations tab of your runtime profile. This opens up a lot of new locations and will help you test your applications under even more realistic conditions than before.

Of course it comes with all the usual features like retry on agent startup failed and load generator monitoring live during the test.

Decathlon - Case study

Decathlon is a network of innovative retail chains and brands providing enjoyment for all sports people.

At Decathlon, 85,000 of co-workers live a common Purpose on a daily basis: To sustainably make the pleasure and benefits of sport accessible to the many.

Decathlon presently operates in 58 countries in Retail with more than 1654 sport hypermarkets, and in 26 countries with Production.

At Decathlon, innovation is at the heart of all activities: from research to retail, including conception, design, production and logistics. Signed sport teams channel all their energy into developing technical, good-looking and simple products, always at the lowest possible prices.

These products are aimed at all sports enthusiasts, from beginners to experts, and are sold at Decathlon.

Nicolas Zangari
Nicolas Zangari, the digital platform manager at Decathlon was actively looking for better, simpler load testing solutions than legacy tools.
Nicolas had previously heard about OctoPerf during a french testing event called JFTL.
He was looking out for a tool for his project since the RFID API was being redesigned and would soon require testing.

Sharing variables between Virtual Users

Variables, may they be constant or dynamic, are an essential part of load testing.

We already learned how to manipulate these values by extracting and re-injecting them inside one Virtual User.

But what if we need to share these values between several Virtual Users ?

In this blog post, I will show you just how to do that, using the MQ technology.

What is AMQP ?

Advanced Message Queuing Protocol (AMPQ) is an open standard protocol that allows messages exchanges between different systems.

In practice, it lets you store values in queues, values that can be retrieved later by simple calls.

Gatling: Loops, Conditions and Pauses

This blog post is a guide to help you write Gatling scripts in order to load test web applications efficiently. It follows our second Gatling Simulation scripts parameterization article.

We will continue to load test a fake e-commerce, and so we are going to improve our Virtual User to make it browse the store in a more humanly way. To do it we will cover several topics:

  • Loops to make it browse several articles of each category,
  • Conditions to change its behavior depending on dynamic parameters,
  • Pauses to simulate a real user think-time.

We start where the previous blog post ended, with a simulation script that uses a CSV feeder and a Regular Expression extractor to visit dynamic pages of the pet store: Download Sample Script.