Script Recorder

Overview

The Login Enterprise Script Recorder is a tool that captures and records the sequence of user interactions with a computer system or software application. It records user inputs, such as mouse clicks, keyboard actions, and other commands, creating a script that can be replayed to automate repetitive tasks or test software functionality. Script recorders are commonly used in testing, automation, and workflow optimization.

In the context of the Login Enterprise virtual appliance, a Script Recorder makes it easier to create Application scripts and get maximum value from the Tests. Our vision with the Script Recorder is to make it accessible and easy to use, allowing you to generate application scripts even if you are not familiar with scripting languages or may not have a background in scripting.

Starting from Login Enterprise 5.10, the Script Recorder v1 is integrated into the Script Editor.

Benefits of using the Script Recorder

The Script Recorder offers significant advantages, including:

  • Accelerated workload creation: You can develop workloads faster, enabling you to quickly perform valuable testing on target applications. For instance, if you previously spent one hour per workload, you can now complete the task in just 10 minutes. This efficiency boost allows you to script six workloads per hour instead of one. This improvement is particularly beneficial if you have extensive backlogs. You may have hundreds of applications that need scripting with Login Enterprise but lack the necessary time and resources. The Script Recorder enables you to address their backlog more rapidly, enhancing productivity and streamlining their workflow.
  • Enhanced multi-application support: The Script Recorder enables you to quickly create multiple workloads for a single target application. This focused capability helps you manage and test different scenarios within the same application efficiently.
  • Backlog reduction: If you have a backlog of applications that need scripting against the target application, the Script Recorder can help you address this backlog more efficiently by speeding up the scripting process.
  • Natural interaction workflow: You can perform actions continuously while the Script Recorder captures your interactions, making the process more intuitive. Unlike the previous method of recording line by line, this continuous recording aligns better with your natural workflow and reduces interruptions in thought processes.
  • User-friendly experience: The Script Recorder simplifies the process by reducing the amount of code you need to manage. You can create workloads in a single recording session, moving closer to the low-code model. This accessibility allows you to perform application scripting effectively, even without a scripting or programming background.
  • Lower barrier to entry: The Script Recorder lowers the entry barrier, enabling you to quickly gain value from Login Enterprise. This increased ease of use ensures that you can script and test applications without extensive training or experience.

Recommendations

  • Use one monitor during recording. Using multiple monitors with different scaling for recording doesn’t always work. Specifically, if you are working across two screens with varying scaling settings, the Script Recorder won’t handle that very well.
  • Proceed slowly. The appearance of a blue box blinking over a button or object indicates that you can move to the next step.

Restrictions

  • The script that the Script Recorder outputs can only be run in Login Enterprise version 5.10 (or higher).
  • V1 only supports WinApps. Browser apps and browser-based apps, such as Teams and Spotify are out of scope for now.
  • Actions that were not supported in the Engine before, are still not supported. For example, mouse drag and mouse scroll.
  • Applications utilizing Java, Web components, or those launching separate windows with new executables aren’t functioning properly yet.
  • The Script Recorder now only generates the script and doesn't automatically import it into the editor. You can only copy the script to the clipboard and paste it into the editor now. IMPORTANT: The Recorder script includes the initial 'start' command, so, when copying the script, please make sure you remove the command.
  • For now, you can only record one application per recording.
  • If a modal popup in an application opens as a new window, the Script Recorder will continue to function. However, during playback, the script engine might fail unless the new window is explicitly declared as a variable. This issue occurs because the engine does not automatically recognize the new window, which can cause playback errors that are not immediately apparent during recording. For example, in Excel, this behavior is observed when modal popups open in new windows.

Downloading and installing the Script Recorder

1. In the Login Enterprise sidebar menu, navigate to Configuration > Applications.

Frame 217.png

2. In Applications > Download Script Editor, click Download on the top right (the file with the integrated Script Recorder will start downloading immediately).

Frame 388.png

3. Extract the contents of the zip file onto your machine.

4. Open the folder and run the ScriptEditor.exe file.

Frame 220.png

When you click on the .exe file, a blue window may appear advising you not to run the file. This warning may be due to the file being unrecognized or from an unknown source. To proceed and run the file, click More info, and then Run anyway.

Creating a new Login Enterprise Application

1. In the Login Enterprise Script Editor, click Create a new Login Enterprise Application.

Frame 22.png

2. In Create New Application, take the following steps:

3. In Script Location, click the three-dot menu, and select a folder where you want to save the script. After you’ve selected the folder, provide a file name. For example, notepadScript.

4. Leave the Application type field unchanged

5. In Target, enter your target application. For example, notepad.exe.

6. Leave the Start in field empty.

7. Click Create.

Frame 23.png

Starting the recording: Recording the script

In the Script Editor top menu, click Record to start the recording.

Frame 219.png

When the recording starts, a player where you can perform actions opens.

The appearance of a blue box blinking over a button or object indicates that the Script Recorder is finding an element, and you can start performing an action. Wait for the blue frame to blink before performing an action.

With the Script Recorder, you can perform the following actions:

  • Stop the recording of actions
  • Start the recording of actions
  • Pause or continue the recording
  • Remove the last recorded action
  • Remove all recorded actions
  • Show or hide the list of recorded actions (downward/upward arrow icon)

image 53 (1).png

Stopping the recording: ScriptResultWindow

When you stop the recording, the ScriptResultWindow with an overview of all recorded steps (before generating the script right after the recording was stopped).

Frame 153 (1).png

In this Overview screen, you can perform the following actions:

Settings

  • Record interaction → Determines mouse positioning when interacting with elements.
    • Click to center (default) → The script will always click in the center of the element.

    • Use X and Y coordinates → The script will click within the element as it was recorded.

  • Mouse move → Determines the inclusion or exclusion of mouse movements in the script.

    • Include/exclude mouse moves in the recording → Once you select the checkbox, the actual mouse movements will be included in the script. This might lead to increased runtime of the script.

  • Waits → Adds a pause after each recorded step in the script.

  • CPM (Characters Per Minute) → Adjusts typing speed. The default is 300 characters per minute. If you leave this box unchecked, the default value will be used. If you select this checkbox, the CPM value will appear in the script.
  • Timeout → Overrides the default timeout of the findWindows functions. The default is 15 seconds. If you leave this box unchecked, the default value will be used. If you select this checkbox, the timeout value will appear in the script.

Frame 404.png

Export JSON

  • This option provides additional information on script failures, facilitating feedback submission and analysis.

Frame 155.png

Generate script

  • This option generates the script. After generating the script, you can go back, change the settings, and generate the script (with new settings) again.

Frame 156.png

Delete actions

  • For example, if you’ve accidentally clicked twice, you can remove one of the clicks.

Frame 157.png

Collapse and uncollapse actions

  • To see: description of action, tag of action, name of action.
  • To change action settings (overwrites global setting for this particular action).

Running the script

1. In the ScriptResultWindow, click Generate script.

Frame 158.png

2. Copy the generated script to the clipboard and paste it into the Script Editor.

Currently, the Script Recorder isn’t supporting notifications, such as Copied to the clipboard. So, once you copy the script to the clipboard, it has been saved—the Script Recorder is just not letting you know about it. You can now proceed and paste the script into the Script Editor.

Frame 159.png

Frame 29 (1).png

3. In the Script Editor top menu, click Run to run the script.

Importing existing script

Alternatively, if you already have an existing script recording (JSON file), click Import recording in the Script Recorder top menu and proceed with the steps described above.

Frame 221.png

If you have questions or need additional information on specific Script Recorder functions, feel free to get in touch with our support at support@loginvsi.com

Identifying and recording Win11 apps

With Windows 11, it has become evident that various default applications exhibit a distinct process and window structure, posing challenges for the engine or Script Recorder to identify them. Examples include Calculator and Notepad, particularly when launched via environment variables such as Calc.exe or Notepad.exe. Many of these default applications employ a process-triggering mechanism, where they initiate a separate process to launch their windows. For instance, Calc.exe initiates a CalculatorApp.exe process, which subsequently spawns its windows under The ApplicationFrameHost process. This process is independent of the Calculator app, and multiple instances of Calculator can coexist under it.

Frame 225.png

This architecture poses implications for the Script Recorder, as attaching to this temporary launcher process would result in the recorder reporting the target window as non-existent. To address this limitation, you need to assist the recorder by clicking on the target window before initiating recording operations. Subsequently, the recording proceeds as usual. As a general practice, you can confirm the identification of the application by ensuring that the Task list can record the intended actions. Once a script is generated, a StartApplication command is included to enable the Engine to identify the target window. For example:

StartApplication(mainWindowClass: "Window:ApplicationFrameWindow", mainWindowTitle: "Calculator");

It's important to note that this StartApplication command is intended to replace any existing START commands already present in the script.

Additional resources