Our New user interface has kept us busy for a while now, which explains why we haven’t made an update post like this one in a while. You’ve probably noticed that the UI has changed a lot since the first version released last year. It’s obvious when you put them side by side.
The beta version:
A lot of it had to do with updating to Angular 15 but this was also the perfect occasion to offer an even better user experience. The look and feel will continue to evolve as we integrate new features, feedbacks and bugfixes but we’re proud to say that the bulk of it is behind us now.
One of the major items we’ve silently released last year is our JIRA integration. You can activate it on from the runtime page:
This makes the load testing results available to everyone for faster collaboration.
In OctoPerf there’s two types of variables that you can use:
- Variables stored in the memory of each virtual user,
- Properties stored in the memory of each load generator.
When you need to exchange values between virtual users you either use properties or rely on a third party queueing system.
That’s the use case covered by our new queuing system, you can read/write to a central variable queue available to every virtual user. The first step is to have a virtual user put some value in the queue, like with the sessionId here:
Then another virtual user will read it from the queue and use it to perform some action:
Values are polled, which means they are removed from the queue when read, this way you do not need to worry about uniqueness.
Using third party recorders allows OctoPerf to offer the largest number of options among all the load testing tools available. But it comes with a big drawback since we do not control the grouping and naming of requests.
To fix this, we’ve created a recorder pop-up where you can input transaction names as you do the recording with your favorite tool. We will then use the HAR timestamps to match this to the names you’ve entered. This way you can control the names and structure of your virtual user while still using your favorite recorder:
OctoPerf being based on docker it was always possible to deploy it on kubernetes, but our agents required a lot of rights that made it impractical in corporate environments. Because of that we’ve worked on a new kubernetes OctoPerf agent that fits perfectly in all contexts. In order to get started we provide an example helm chart at the following address: https://github.com/OctoPerf/helm-charts/tree/master/kubernetes-agent
When you combine extractors with variables, the Debug panel of OctoPerf is usually unable to compute because the variable only exists at runtime. To prevent this, we added a new context button on the Debug panel for extractors and post processors:
The new Secret variable is quite simple, it is not loaded in OctoPerf’s UI and not displayed anywhere. This makes it the perfect recipient for sensible tokens that you want others to use without directly giving access to them:
The server menu has a new feature that allows you to replace all occurrences of a server with another:
This way you can quickly merge servers into one, or easily change the environment used by several different servers.
For the complete list of fixed bugs, please refer to OctoPerf 13.1 Release Notes.