Design a user path

The User Path design feature in Tricentis NeoLoad provides accurate performance testing by letting you configure realistic user interactions. When you design a User Path, you add logical actions, variables, and timing controls to simulate real-world usage patterns.

Key design actions

Tricentis NeoLoad provides logical actions to control User Path flow and behavior. Add these actions to your User Path by dragging them from the Actions panel or by right-clicking in the User Path tree and selecting Insert as child or Insert after.

Action Description Parameter
Delay Pauses the Virtual User for a specified duration.
  • Name: Name of the action.

  • Description: Optional description of the action behavior.

  • Delay: Time in milliseconds to pause. You can use a variable for random delays.

  • Delay from: Set the delay as a range between two values in milliseconds.

  • Consider as think time: When enabled, the system doesn't include the delay when calculating response times for parent containers.

Loop Iterates through items a specified number of times.
  • Number of iterations: Define how many times the loop runs. You can use a variable for dynamic iteration counts.

  • Counter variable: The system creates a variable named <LoopName>_counter that contains the current iteration number, starting at 1.

While Iterates through items while a condition remains true.
  • Condition: Define conditions using two operands and an operator (Equals, Contains, Greater than, etc.).

  • Multiple conditions: You can add multiple conditions that resolve with AND or OR logic.

If ... Then ... Else Executes conditional actions based on whether a condition is true or false.
  • Condition: Define the condition to evaluate.

  • Then container: Actions to execute when the condition is true.

  • Else container: Actions to execute when the condition is false.

Switch Executes different actions based on the value of a variable.
  • Variable to evaluate: The variable whose value determines which case executes.

  • Case containers: Define specific values and the actions to execute for each case.

  • Default container: Actions to execute when no case matches.

JavaScript Executes custom JavaScript code during test execution.
  • Script: JavaScript code to execute. You can access variables, create new variables, and use Tricentis NeoLoad APIs.

Variable extractors

Variable extractors capture dynamic values from server responses and store them in variables for use in subsequent requests. This mechanism handles session IDs, tokens, and other dynamic data that changes between test runs.

To add a variable extractor, select a request and open the Variable Extractors section. Tricentis NeoLoad provides two modes:

Simple mode

In simple mode, you define the string to extract by specifying text that appears before and after the value:

  • Variable name: Name of the variable that stores the extracted value. Use the expression ${VariableName} in subsequent requests.

  • Extract from: Choose whether to extract from the response body, headers, or both.

  • Starting with: Text that appears immediately before the value.

  • Ending with: Text that appears immediately after the value.

  • Occurrence: Select which occurrence to use if the pattern matches multiple times (first, random, or all).

Advanced mode

In advanced mode, you use regular expressions for more complex extraction patterns:

  • Regular expression: Pattern to match the value. Enclose the parts to extract in parentheses.

  • XPath expression: For XML and HTML responses, you can use XPath to select specific nodes.

  • JSONPath expression: For JSON responses, you can use JSONPath to extract values.

Think times and delays

Think times simulate the pauses that real users take while browsing your application. When users see a new page or component, they need time to read and respond. Think times make your load test more realistic and prevent overwhelming the server with unrealistic request patterns.

To add think times:

  1. Insert Delay actions between user interactions.

  2. Enable the Consider as think time option to exclude the delay from response time calculations.

  3. Use variable delays or ranges to add randomness that mimics real user behavior.

Think times are essential for running scenarios at scale. Without them, the load generator sends requests to the application simultaneously, which creates unrealistic load patterns and increases CPU consumption.

Transactions

Transactions group related pages and actions into logical business functions. This organization helps you analyze performance by business transaction rather than by individual requests.

To create transactions, right-click in the User Path tree and select Insert as child > Transaction. Then move the relevant pages and actions into the transaction container.

What's next

Now that you understand User Path design, check your user path to confirm that all requests and dynamic values work correctly before running a full load test.