Skip to content

Commit

Permalink
Merge pull request #68 from Blazemeter/RELEASE_2.5
Browse files Browse the repository at this point in the history
Release v2.5
  • Loading branch information
Baraujo25 authored May 24, 2024
2 parents 2882195 + 9472507 commit 889117e
Show file tree
Hide file tree
Showing 59 changed files with 1,883 additions and 882 deletions.
114 changes: 55 additions & 59 deletions docs/src/.vuepress/config.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
const { description } = require('../../package')
const REPO_URL= 'https://github.com/Blazemeter/CorrelationRecorder'
const { description } = require("../../package");
const REPO_URL = "https://github.com/Blazemeter/CorrelationRecorder";

module.exports = {
/**
* Ref:https://v1.vuepress.vuejs.org/config/#title
*/
title: 'Correlation Recorder',
title: "Correlation Recorder",
/**
* Ref:https://v1.vuepress.vuejs.org/config/#description
*/
Expand All @@ -18,9 +18,12 @@ module.exports = {
* ref:https://v1.vuepress.vuejs.org/config/#head
*/
head: [
['meta', { name: 'theme-color', content: '#00ace6' }],
['meta', { name: 'apple-mobile-web-app-capable', content: 'yes' }],
['meta', { name: 'apple-mobile-web-app-status-bar-style', content: 'black' }]
["meta", { name: "theme-color", content: "#00ace6" }],
["meta", { name: "apple-mobile-web-app-capable", content: "yes" }],
[
"meta",
{ name: "apple-mobile-web-app-status-bar-style", content: "black" },
],
],

/**
Expand All @@ -31,74 +34,67 @@ module.exports = {
themeConfig: {
repo: REPO_URL,
editLinks: false,
docsDir: '',
editLinkText: '',
docsDir: "",
editLinkText: "",
lastUpdated: false,
logo: '/images/blazemeter-labs-logo.png',
logo: "/images/blazemeter-labs-logo.png",
nav: [
{
text: 'Guide',
link: '/guide/',
text: "Guide",
link: "/guide/",
},
{
text: 'Templates',
link: '/guide/templates/',
text: "Templates",
link: "/guide/templates/",
},
{
text: 'Custom Extensions',
link: '/guide/custom-extensions/',
text: "Custom Extensions",
link: "/guide/custom-extensions/",
},
{
text: 'Contributing',
link: '/contributing/'
text: "Contributing",
link: "/contributing/",
},
{
text: 'FAQ',
link: '/guide/troubleshooting.md',
}
text: "FAQ",
link: "/guide/troubleshooting.md",
},
],
sidebar:{
'/guide/': [
{
title: 'Guide',
collapsable: true,
children: [
'/guide/',
'/guide/installation-guide.md',
'/guide/using-the-plugin.md',
'/guide/correlation-process.md',
'/guide/after-recording.md',
'/guide/before-recording.md',
'/guide/concepts.md',
'/guide/best-practices.md',
'/guide/troubleshooting.md'
sidebar: {
"/guide/": [
{
title: "Guide",
collapsable: true,
children: [
"/guide/",
"/guide/installation-guide.md",
"/guide/using-the-plugin.md",
"/guide/correlation-process.md",
"/guide/after-recording.md",
"/guide/analysis-configuration.md",

]
},
{
title: 'Templates',
collapsable: true,
children: [
'/guide/templates/',
'/guide/templates/create.md'
]
},
{
title: 'Custom Extensions',
collapsable: true,
children: [
'/guide/custom-extensions/',
]
}
],
}
"/guide/before-recording.md",
"/guide/concepts.md",
"/guide/best-practices.md",
"/guide/troubleshooting.md",
],
},
{
title: "Templates",
collapsable: true,
children: ["/guide/templates/", "/guide/templates/create.md"],
},
{
title: "Custom Extensions",
collapsable: true,
children: ["/guide/custom-extensions/"],
},
],
},
},

/**
* Apply plugins,ref:https://v1.vuepress.vuejs.org/zh/plugin/
*/
plugins: [
'@vuepress/plugin-back-to-top',
'@vuepress/plugin-medium-zoom',
]
}
plugins: ["@vuepress/plugin-back-to-top", "@vuepress/plugin-medium-zoom"],
};
14 changes: 7 additions & 7 deletions docs/src/guide/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@ next: /guide/installation-guide.md
# User Guide

Correlations Recorder it's a [JMeter's](http://jmeter.apache.org/usermanual/get-started.html) plugin that simplifies
the process of recording for applications with Dynamic Variables by providing automatic **correlations of variables**.
the process of recording for applications with Dynamic Variables by providing automatic **correlations of variables**.

You can perform exploratory detections of dynamic variables and create **correlation rules** to correlate them
in future recordings, or you can use the **automatic correlations** and let the plugin do the work for you.
in future recordings, or you can use the **automatic correlations** and let the plugin do the work for you.

Regardless of the method you choose, the plugin will help you create a test script that is more reliable and
easier to maintain.
easier to maintain.

## Key Features

Expand Down Expand Up @@ -48,15 +48,15 @@ Here are 10 key benefits of using the JMeter's Automatic Correlation Recorder Pl
## System requirements

The system requirements to use the plugin are pretty much the sames as a regular JMeter environment, vary depending on
the operating system. In general terms, the requirements for each operating system are:
the operating system. In general terms, the requirements for each operating system are:

- Windows: Windows 7 or later, 1 GB of RAM (2 GB recommended), 250 MB of free disk space
- macOS: macOS 10.10 or later, 1 GB of RAM (2 GB recommended), 250 MB of free disk space
- Linux: kernel 2.6.26 or later, 1 GB of RAM (2 GB recommended), 250 MB of free disk space

Please note that these are the minimum requirements, and higher specifications may be necessary for larger or more
complex load testing scenarios.
complex load testing scenarios.

::: tip
For a better experience, we recommend the usage of JMeter 5.4.1 or later.
:::
For a better experience, we recommend the usage of JMeter 5.6.3 or later.
:::
123 changes: 78 additions & 45 deletions docs/src/guide/after-recording.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
next: /guide/before-recording.md
next: /guide/analysis-configuration.md
prev: /guide/correlation-process.md
---

Expand All @@ -8,19 +8,16 @@ prev: /guide/correlation-process.md
This section covers the Automatic Correlation methods available in the plugin. These methods allow you to
automatically correlate dynamic values in your recordings. Unlike the Correlation Rules method, which must be
configured before recording, these methods are performed after the recording is complete. This provides greater
flexibility, as the correlations can be reviewed and rolled back if necessary.
flexibility, as the correlations can be reviewed and rolled back if necessary.

We'll discuss the pros and cons of each method to help you determine which one is best suited for your needs.

[[toc]]


**Supported methods**

At this stage, the supported methods can correlate by:

- [By Using Correlation Templates](#by-using-correlation-templates)
- [By Replay and compare](#by-replay-and-compare)
- [By Automatic comparison and variable detection](automatic-comparison-and-variable-detection)

Let's see what each one of these methods has to offer.

Expand All @@ -43,50 +40,30 @@ Cons:
- It still requires Rules to properly correlate the dynamic values.
- It does not detect dynamic values that are not present in the Correlation Templates.

## By Replay and Compare

This method involves analyzing the results of a recording replay by comparing them with the original recording. It
only focuses on the arguments of the requests that failed in the replay. By doing so, it generates a list of
Correlation Suggestions based on the differences found, allowing you to select which ones to apply in the Test Plan.

**Pros and Cons**

Pros:
- It is pretty flexible, since it detects dynamic values that you might not be aware of.
- It is customizable, since you can configure how the analysis is done.

Cons:
- It is not 100% bullet-proof, since it might correlate dynamic values that are not necessarily dynamic.

### Usage

**TL;DR**: Follow the steps below to use this method:
::: details Quick step guide

1. Open the Correlation Wizard
2. Select the **By Replay and Compare** method.
3. Select the Templates to use for the analysis.
4. Add the JTL file of the recording (if it isn't already loaded).
5. Press "Continue"
6. Review the Correlation Suggestions
7. Press "Auto Correlate" to apply the suggestions to the Test Plan.

With this, you should have a Test Plan with the dynamic values already correlated. Replay the Test Plan to make sure
that it works as expected.
1. Select the **Automatic comparison and variable detection** method.
1. Add the JTL file of the recording (if it isn't already loaded).
1. Press "Continue"
1. Review the Correlation Suggestions
1. Press "Auto Correlate" to apply the suggestions to the Test Plan.
:::

**Detailed steps**

1. Open the Correlation Wizard

To open the Correlation Wizard, you can either:

- Accept the replay report Dialog, after the recording.
- Click on the **Correlation Wizard** button in the **Correlation** tab.

![Replay Report Dialog](./assets/replay-report-dialog.png)

2. Select the **By Replay and Compare** method

Regardless of the method used, the "Select Correlation Method" dialog will be displayed.
Select the **Existing correlation rules (recommended** method and press "Continue".
2. Select the **Existing Correlation Templates** method

![Select Correlation Method](./assets/select-correlation-method.png)

Expand All @@ -101,7 +78,7 @@ By default, the latest version of a Template is selected, but you can change tha

::: warning

If you have the BlazeMeter integration on, depending on your account type (Free or Enterprise), you might see some
If you have the BlazeMeter integration on, depending on your account type (Free or Enterprise), you might see some
Correlation Templates that are not available for you (they will have a lock icon next to them).

If you want to know more about Enterprise Correlation Templates, please contact your BlazeMeter representative.
Expand All @@ -120,32 +97,88 @@ the results might not be as realistic as expected.

5. Press "Continue"
6. Review the Correlation Suggestions
Once the analysis is done, the plugin will display the Correlation Suggestions in the "Correlation Suggestions dialog".
Once the analysis is done, the plugin will display the Correlation Suggestions.

![Correlation Suggestions](./assets/correlation-suggestions.png)
Review the name of the arguments, the values, where they were found and used. If you want to apply a suggestion,
select the checkbox next to it. If you want to ignore a suggestion, uncheck the checkbox.

7. Press "Auto Correlate" to apply the suggestions to the Test Plan.
7. Press "Apply" to apply the suggestions to the Test Plan.

Once you are done reviewing the suggestions, press the "Auto Correlate" button to apply the suggestions to the Test Plan.
The plugin will automatically correlate the dynamic values in the Test Plan, and will display a dialog informing you
that the process was successful.

![Auto Correlate Successful](./assets/auto-correlation-successful-dialog.png)


### Forcing the correlation of a dynamic value

As mentioned earlier, the plugin will only try to correlate the parameters in the requests that failed during the replay. If a request does not fail (for example, it returns a 200 status code), but you still want the plugin to include it in the automatic correlation process, you can force it by adding an assertion to the request.

To add an assertion to an HTTP request in JMeter, follow these steps:

1. Open your JMeter test plan and navigate to the Thread Group where the HTTP request is located.
2. Select the HTTP request and right-click on it.
3. Click on "Add" and then select "Assertions".
4. Choose the type of assertion you want to add (for example, "Response Assertion").
5. Configure the assertion by specifying the criteria that must be met for the assertion to pass.
6. Save your changes and run the test again.
1. Select the HTTP request and right-click on it.
1. Click on "Add" and then select "Assertions".
1. Choose the type of assertion you want to add (for example, "Response Assertion").
1. Configure the assertion by specifying the criteria that must be met for the assertion to pass.
1. Save your changes and run the test again.

Official documentation: https://jmeter.apache.org/usermanual/test_plan.html#assertions

## Automatic Comparison and Variable Detection

This method involves analyzing the results of a recording replay by comparing them with the original recording. It
only focuses on the arguments of the requests that failed in the replay. By doing so, it generates a list of
Correlation Suggestions based on the differences found, allowing you to select which ones to apply in the Test Plan.

**Pros and Cons**

Pros:

- It is pretty flexible, since it detects dynamic values that you might not be aware of.
- It is customizable, since you can configure how the analysis is done.

Cons:

- It is not 100% bullet-proof, since it might correlate dynamic values that are not necessarily dynamic

### Usage

::: details Quick step guide

1. Open the Correlation Wizard.
- If you have done a recording you can confirm the generation of correlation suggestions which redirects you to Correlation Wizard
1. Select the **Automatic comparison and variable detection** method.
1. Review the Correlation Suggestions
1. Press "Apply" to apply the suggestions to the Test Plan.

:::

**Detailed guide**

1. Open the Correlation Wizard

To open the Correlation Wizard, you can either:

- Accept the replay report Dialog, after the recording.
- Click on the Correlation Wizard button in the Correlation tab.

![Replay Report Dialog](./assets/replay-report-dialog.png)

2. Select the **Automatic comparison and variable detection** method

![Select Correlation Method](./assets/select-automatic-correlation-method.png)

After pressing continue the generation of suggestions has began, depending on the complexity of the scenario this step might take while.

3. Review Correlation Suggestions

![Correlation Suggestions](./assets/automatic-correlation-suggestions.png)

Review the name of the arguments, the values, where they were found and used. If you want to apply a suggestion, select the checkbox next to it. If you want to ignore a suggestion, uncheck the checkbox.

4. Press "Apply" to apply the suggestions to the Test Plan.

The plugin will automatically correlate the dynamic values in the Test Plan, and will display a dialog informing you that the process was successful.

![Auto Correlate Successful](./assets/auto-correlation-successful-dialog.png)
Loading

0 comments on commit 889117e

Please sign in to comment.