PFLB

PFLB logo
Experience the Power of Next-Generation Load Testing
Do You Want to Load Test Your Product?
Drop us a line to find out what our team can do for you

Virtual Users Authorization With PFLB: Session ID Correlation

Session ID Correlation With PFLB 1

With the PFLB platform, you can run comprehensive stress testing of your system to uncover potential performance bottlenecks. To ensure accurate results, it is crucial to simulate a substantial number of concurrent users and replicate all site operations as closely to reality as possible. Similar to real visitors, virtual users are also authorized on the server using unique identifiers like a Session ID.

In load testing, recording and replaying scenarios with the same Session ID is essential. This ensures proper authorization of virtual users and accurate reproduction of the test scenario. Without maintaining a consistent identifier, virtual users may not be authorized, resulting in an inability to replicate the desired test scenario. This process of maintaining a single identifier throughout the recording and playback of a script is known as correlation. In this step-by-step guide, we will demonstrate how to correlate the Session ID with PFLB using an e-commerce website as an example.

Disclaimer: The steps provided in this blog post serve as a general guide for correlating a Session ID with the PFLB platform. However, it’s important to note that the process may vary depending on the specific requirements and configurations of your e-commerce website.

A session ID is a unique identifier assigned by a website’s server to track a user’s actions during their visit. It plays a crucial role in scenarios like online shopping, where users add items to their cart and proceed to checkout across multiple webpages. To accurately simulate real user behavior during the test, it is essential to generate virtual users with unique identifiers, such as Session IDs.

In load testing, especially for systems like e-commerce platforms, creating a load profile that closely resembles reality is paramount. This requires performing all actions within the system on behalf of virtual users. To achieve it, these virtual users must also have unique identifiers, with Session IDs being one of the essential values. By incorporating Session IDs in load testing, we can create realistic test scenarios that accurately represent user interactions and effectively evaluate the performance of the system.

Want to Learn More About PFLB Platform?

Schedule a demo with our experts!

The Importance of Correlating Session ID in Load Testing

To ensure the proper execution of the recorded script, it is essential to authorize virtual users by capturing the correct “sessionid” from the CreateSession server response and attaching it to subsequent requests. This process of finding and linking the correct values is called correlating.

When performing load testing or conducting performance testing on web applications, especially e-commerce platforms, as exemplified here, correlating and parameterizing unique values like Session IDs becomes crucial. Correlating Session ID plays a significant role in preserving session data across various requests, as each user session is distinct, and failure to correlate can result in request failures.

How to Correlate Session ID With PFLB?

With the PFLB platform, you can effectively simulate concurrent users and identify performance bottlenecks in your application. One of its key features is the support for session correlation through its in-built extractors and variables.

This guide provides a step-by-step walkthrough on how to correlate Session ID using PFLB. By following the instructions outlined in this guide, you will gain the knowledge and expertise to effectively correlate Session ID and enhance the accuracy of your load testing efforts.

Step 1: Recording Your Script

To begin correlating Session ID with PFLB, you need to record your script.

  1. Prepare a script scenario. Document the specific user actions and steps that need to be recorded.
  2. Record user actions. Utilize the built-in HAR-file recording mechanism. For example, in the Chrome browser, open Developer Tools, click the record log button, and execute the actions you want to capture. Right-click on the requests and select Save all as HAR with content.
  3. Upload the HAR file. Access the PFLB platform and click the + button located in the bottom right corner to upload the HAR file. Alternatively, you can create requests manually or import them from various other sources.
Correlating Session ID screen 1 scaled 1

Step 2: Identify the Session ID

  1. Review the recorded requests. Open the requests recorded in the previous step and examine them to locate where the Session ID is being passed.
    • Look for common Session ID names. In most e-commerce websites, Session IDs are passed as cookies, URL parameters, or in the form of data. Common Session ID names include “JSESSIONID”, “PHPSESSID”, “ASP.NET_SessionId”, or a custom name specific to the application.
  2. Locate the authentication form submission. Pay close attention to the request that corresponds to the authentication form submission. This is where the Session ID is often generated or retrieved. Note the name of the parameter used for the Session ID.
Correlating Session ID screen 2 scaled 1

Step 3: Extract the Session ID

Once you’ve identified the Session ID, the next step is to extract it. PFLB platform provides various Post-Processors that can be used for data extraction, such as Regular Expression Extractor, xPath, jSONPath, or Boundary Extractor. Choose an appropriate tool based on how and where the Session ID is passed.

For example, to extract a Session ID passed as a parameter in the body of response:

  1. Add an Extractor to the Request that receives the Session ID.
  2. Configure the extractor to use Regular Expression as the extraction method.
  3. Set the Extractor scope to Response Body.
  4. Define the Regular Expression field to match the Session ID. For instance, if the Session ID is stored in a parameter named “JSESSIONID”, the pattern could be “JSESSIONID=(.+?);”.
  5. Specify a Variable name to store the extracted Session ID, e.g., “SESSIONID”.
Correlating Session ID screen 3 scaled 1

Step 4: Use the Correlated Session ID

After extracting the Session ID and storing it in a variable, you can utilize it in subsequent requests to maintain session continuity. One common approach is to pass the Session ID as a cookie or request parameter.

  1. Configure the request parameter in the body or parameters tab to use the variable containing the Session ID as the value for the “JSESSIONID”.
  2. Make sure the cookie or request parameter is applied to all relevant requests in your script.
Correlating Session ID screen 4 scaled 1

Step 5: Validate Your Script

Once you’ve correlated your Session ID and incorporated it into your script, it’s important to validate the changes you made. This action ensures that the Session ID extraction and correlation are functioning correctly.

  1. Enable the Debug Mode.
  2. Run your script.
  3. Monitor the request bodies in the Debug Mode output to verify if the Session ID is being extracted and correlated accurately.
Correlating Session ID screen 5 scaled 1

Conclusion

Correlating the Session ID as a part of load testing is crucial to accurately simulate real user behavior. By following the step-by-step guide using PFLB’s user-friendly web-based UI, you can effectively correlate the Session ID and gain valuable insights into your application’s performance.

Understanding how your application utilizes the Session ID and conducting thorough testing will enable you to optimize and scale your system effectively. Happy testing, and may your load tests provide actionable performance data for enhanced user experiences!