Design a Remote Terminal Emulator User Path

The RTE feature in NeoLoad gives accurate performance testing of terminal-based systems using protocols, such as TN3270 and VT420. When designing an RTE user path, you configure a series of interactions with the system that can be used to simulate real-world usage.

Key design actions

Action Description Parameter
Connect Establish a connection to the target terminal system.
  • Transport layer (required): Transport layer to use.

  • Port (required): Port number to connect to. Default value is "23".

  • Hostname (required): Hostname or IP address of the remote terminal.

  • Use extended (optional): Use extended mode for extra settings.

  • Model (required): Model of the terminal you chose.

  • Timeout (ms) (required): Timeout set by milliseconds. Default value is "1000".

  • Terminal family (required): Terminal family you want to use.

  • Wait (optional): Specify what to wait for in the terminal to be ready to receive the next action.

  • WaitTimeout (optional): Timeout to wait for in milliseconds, based on the Wait parameter. Default value is "10000".

  • Charset (optional): Charset to use.

  • Username (optional): Username to use for the connection.

  • Password (optional): Password to use for the connection.

  • Certificate (optional): Certificate to use for the connection.

 

SendKeys Sends keystrokes to the emulator to allow interaction with the terminal application.
  • Actions (required): Sequence of keys sent to the terminal.

  • Wait (optional): Specify what to wait for in the terminal to be ready to receive the next action.

  • WaitTimeout (optional): Timeout to wait for in milliseconds, based on the Wait parameter. Default value is "10000".

Read Retrieves data from the emulator screen by specifying a screen region to read.
  • Wait (optional): Specify what to wait for in the terminal to be ready to receive the next action.

  • WaitTimeout (optional): Timeout to wait for in milliseconds, based on the Wait parameter. Default value is "10000".

Disconnect Ends the session with the emulator.
  • Wait (optional): Specify what to wait for in the terminal to be ready to receive the next action.

  • WaitTimeout (optional): Timeout to wait for in milliseconds, based on the Wait parameter. Default value is "10000".

Wait conditions

When using RTE in NeoLoad, a wait condition makes sure an action is complete before moving to the next step. For example, this can mean waiting until specific text appears on the terminal screen or until the cursor moves to a designated position.

Setting a wait timeout is essential to avoid indefinite blocking in case of failure because a wait condition blocks execution until it is met. The following optional parameters control wait behavior:

  • WaitCondition: Defines the condition that must be met for the current action to finish.

  • WaitTimeout: Sets the timeout in milliseconds for the wait condition. By default, this is set to 10000 milliseconds during recording.

Note: Although optional, it’s highly recommended to set wait conditions for all actions.

Wait conditions syntax

Syntax Description
CursorPosition(1x2) Wait until the cursor is at the first column and second row.
CursorPosition(1x2 after: "text") Wait until the cursor is at the first column, second row, and after the pattern "text".
CursorPosition(1x2 after: "text", onWritableField) Wait until the cursor is at the first column, second row, after the pattern "text", and on a writable field. It applies only to TN3270 terminals.
Text("text") Wait until the pattern "text" is displayed on the screen.
Text(1x2 "text") Wait until the pattern "text" shows in the first column and second line.
Text(1x2 3x4 "text") Wait until the pattern "text" is found between the first column of the second line and the third column of the fourth line.
RegExp("Hello.*") Wait until the regular expression "Hello.*" matches any location on the screen.
RegExp(1x2 "Hello.*") Wait until the regular expression "Hello.*" matches on the screen at the first column and second row.
CursorVisible Wait until the cursor becomes visible.
CursorHidden Wait until the cursor becomes hidden.
KeyboardLocked Wait until the keyboard is locked.
KeyboardUnlocked Wait until the keyboard is unlocked.
Connected Wait until the terminal is connected.
Disconnected Wait until the terminal is disconnected.
ScreenRefresh Wait until the screen refreshes for the first time.
Time(1000) Wait for a specific time duration (1000 milliseconds).

Variable extractors

In NeoLoad, each RTE action allows you to define variable extractors. A variable extractor retrieves specific information from the terminal screen once an action is completed, making it available for further actions in the test. To create, edit, or delete a variable extractor:

  1. Select an RTE action from the user path action tree.

  2. Select the Advanced... button.

  3. In the Advanced Settings dialog, navigate to the Variable extractors tab.

The Advanced Settings window is divided into two sections:

  • The upper part shows a snapshot of the terminal as it showed during the recording, once the action was completed.

  • The lower part displays a table listing any variable extractors defined for that action.

Variable extractor types

You can create or edit three types of variable extractors in NeoLoad. Let's check out how to configure them:

  1. Regular expression extractor

    • Select + Regular expression extractor.

    • Specify a name for the variable in the Variable name column.

    • Verify the extracted value in the Extracted value column and check the highlighted selection on the terminal.

    • Select OK or Apply to save the extractor.

  2. Cursor position extractor

    • Select + Cursor position extractor.

    • Give the variable a name in the Variable name column.

    • Confirm the extracted value displayed in the Extracted value column.

    • Select OK or Apply to save the extractor.

  3. Text by position extractor

    • Select + Text by position extractor.

    • Select the text in the terminal to have its position in the Parameter column.

    • Enter a name for the variable in the Variable name column.

    • Confirm the extracted value in the Extracted value column.

    • Select OK or Apply to save the extractor.

You can also create a Text by position extractor during the recording, directly in the terminal.

Delete a variable extractor

To delete a variable extractor, locate that variable extractor in the table and select , then select Apply.