# LoadRunner

LoadRunner is a software testing tool from OpenText. It is used to test applications, measuring system behavior and performance under load.
LoadRunner can simulate millions of users concurrently using application software, recording and later analyzing the performance of key components of the application whilst under load.
LoadRunner simulates user activity by generating messages between application components or by simulating interactions with the user interface such as key presses or mouse movements. The messages and interactions to be generated are stored in scripts. LoadRunner can generate the scripts by recording them, such as logging HTTP requests between a client web browser and an application's web server.
Hewlett Packard Enterprise acquired LoadRunner as part of its acquisition of Mercury Interactive in November 2006. In Sept 2016, Hewlett Packard Enterprise announced it is selling its software business, including Mercury products, to Micro Focus. As of 01-Sept-2017, the acquisition was complete.
On Dec 12, 2019, Micro Focus announced newer names for LoadRunner package and started following CalVer.
* LoadRunner is now LoadRunner Professional 2020
* Performance Center is now LoadRunner Enterprise 2020
* StormRunner Load is now LoadRunner Cloud 2020

## Architecture

The key components of LoadRunner are:
* Load Generator generates the load against the application by following scripts
* VuGen (Virtual User Generator) for generating and editing scripts
* Controller controls, launches and sequences instances of Load Generator - specifying which script to use, for how long etc. During runs the Controller receives real-time monitoring data and displays status.
* Agent process manages connection between Controller and Load Generator instances.
* Analysis assembles logs from various load generators and formats reports for visualization of run result data and monitoring data.
Modules are available to enable LoadRunner to capture, replay and script different application and networking technologies. These include support for:
* applications using Microsoft .NET and Java
* database servers such as Microsoft SQL Server and Oracle
* internetworking protocols such as DNS, FTP and LDAP
* e-mail protocols including IMAP, MAPI, POP3 & SMTP
* remote client technologies such as Citrix ICA and RDP.
LoadRunner can be run standalone or multiple instances can pooled for use by several people under the control of LoadRunner Enterprise, formerly known as HP PerformanceCenter.

## History

| Version | Service Pack | Release date | Notes |
| 1.0 | — | November 1993 | Load Testing for X Windows applications |
| 2.0 | — | July 1994 | Windows support added |
| XL & RTE | — | December 1994 | LoadRunner/XL (for large tests) and LoadRunner/RTE (RTE protocol support) introduced |
| 3.0 | — | April 1995 | Added SQL Inspector (captures SQL statements sent from client applications to relational databases) |
| 4.0 | — | May 1996 | Added Virtual User Generator, Controller, and Analysis tools |
| 5.0 | — | February 1997 | Added SAP R/3 support |
| 6.0 | — | July 1999 | Added Linux installation support |
| 6.5 | — | June 2000 | Added "TurboLoad" technology (i.e. Run users as threads) |
| 7.51 | — | June 2000 | Added Citrix ICA protocol support |
| 7.8 | — | September 2003 | |
| 7.8 | Feature Pack 1 | September 2003 | Added support for Windows XP. |
| 8.0 | — | August 2004 | Added "Additional Attributes" to Runtime Settings. |
| 8.1 | — | August 2004 | Added Web Click and Script technologies |
| 9.0 | — | August 2004 | Re-branded to HP LoadRunner |
| 9.10 | — | February 2008 | Added Web Services, Adobe AMF, and RDP |
| 9.51 | — | July 6, 2009 | |
| 9.52 | — | June 14, 2010 | |
| 11.0 | — | September 2010 | |
| 11.0 | Patch 1 | January 6, 2011 | |
| 11.0 | Patch 2 | February 22, 2011 | Added support for Visual Studio 2010 and Protocol Updates to Ajax TruClient, Citrix, Flex, Web. |
| 11.0 | Patch 3 | June 20, 2011 | Added support for IE9, Mobile protocols, GraniteDS. |
| 11.0 | Patch 4 | November 2011 | HP SV (Service Virtualization Integration) with Controller, GWT-DFE(Google Web Toolkit- Data Format Extension), RTMP Tunneled, Messaging support, Streaming support, Flex Correlations. |
| 11.50 | — | November 2011 | Added New VuGen IDE, Ajax TruClient for IE, Web Protocol Asynchronous Support, Flex, Mobile, .NET, Web Services, 64-bit applications recording, IPv6 support. |
| 11.50 | Patch 1 | July 20, 2012 | Added Ajax TruClient IE protocol. |
| 12.00 | — | March 18, 2014 | Added ability to instantiate instances on Amazon EC2 directly from LoadRunner UI. |
| 12.02 | — | January 21, 2015 | Added ability to instantiate instances on Microsoft Azure directly from LoadRunner UI |
| 12.50 | — | August 2015 | JavaScript as a new scripting language for the Web-HTTP/HTML protocol Chrome TruClient support added Google Compute Engine supported as cloud provider Ability to record a TruClient script with one browser and replay it with any Integrated Network Virtualization solution (formerly known as Shunra) Docker-based Linux installation Generating scripts from HAR files Major enhancements in .NET and Citrix protocols |
| 12.50 | Patch 3 | May 5, 2016 | Provides support for TruClient - Native Mobile protocol in HPE Mobile Center Adds support for HPE Mobile Center 1.51 Fix for Amazon Cloud provisioning |
| 12.53 | — | May 2016 | Git integration in VuGen Java 8 support, 64-bit replay support in Java protocols New PCoIP protocol HTTP Video Streaming (HTML5, HLS) support HTTP/2 support Enhanced SAPUI5 recording in TruClient REST step-builder editor in VuGen Support of Win 10 and recording using MS Edge browser Built-in Linux compatibility test in VuGen Improved performance of Linux Load Generators, support of additional Linux distributions |
| 12.53 | Patch 1 | June 15, 2016 | Fixes a memory allocation issue that can impact Web HTTP/HTML protocols. |
| 12.53 | Patch 2 | August 3, 2016 | |
| 12.53 | Patch 3 | September 29, 2016 | |
| 12.53 | Patch 4 | January 4, 2017 | LoadRunner 12.53 Patch 4 contains various enhancements, and provides support for the following: HPE Mobile Center 2.20. For details, see the Mobile Center Help. HPE Network Virtualization (NV) 12.53 Patch 1 Google Web Toolkit (GWT) support: GWT Request Factory GWT 2.7.0 Verified for use with GWT 2.8.0 (full support to be added in a future version). |
| 12.55 | — | August 17, 2017 | Added MQTT Protocol, support for JMeter tests, support for Windows 10 creators, Windows Server 2016, and Ubuntu 16.04. Also added support for Chromium 55 for TruClient protocol. LoadRunner 12.55 supports HTTP/2 64-bit record and replay and many performance improvements and enhancements. |
| 12.56 | — | February 26, 2018 | LoadRunner 12.56 contains various enhancements, and provides support for the following: Runtime Settings Search New supported technologies and platforms Protocol enhancements TruClient enhancements VuGen enhancements Controller and Analysis enhancements |
| 12.57 | — | May 19, 2018 | LoadRunner 12.57 contains various enhancements, and provides support for the following: New supported technologies and platforms Remote Terminal Emulator protocol compatibility with Windows 10 TruClient enhancements, including support for ChromiumOS version 63 VuGen enhancements Controller enhancements |
| 12.60 | — | August 24, 2018 | LoadRunner 12.60 contains various enhancements, and provides support for the following: A runtime setting to enable/disable HTTP/2 features New runtime setting that enables connecting to one or multiple IP addresses for Oracle NCA protocol Enhanced desktop pool support with the ability to sync on bitmap timeout per step for PCoIP protocol Dockerized Load Generators Network Virtualization is now free Save a graph as an image file |
| 12.63 | — | May 28, 2019 | LoadRunner 12.63 contains various enhancements, and provides support for the following: Significant reduction in the overall time for Analysis to process raw results Script Wizard added for MQTT Snapshot viewer supported for TruWeb scripts TruClient now includes a VTS API function that replaces a specific value inside a set of columns with a new value. Reduced memory consumption in load mode for TruClient browser |
| 2020 | — | December 17, 2019 | LoadRunner 2020 New protocol called DevWeb has been added Webservices has new WDF toolkit Partial modern user interface and icons LoadRunner Enterprise Integration Online graphs in Controller with rich UI controls SAP - Web protocol now supports Recording Report, predefined DFE, Asynchronous communication, and HAR file generation after replay TruClient protocol has new search and toolbox with the latest Chromium and TruClient browser support TruClient has new client side performance measurements |
| 2020 Service Pack 1 | — | April 2, 2020 | LoadRunner 2020 Service Pack 1 Enhancements have been done in DevWeb, TruClient, Web Services, Citrix ICA, VTS, and Integration with LoadRunner Enterprise. |
| 2020 Service Pack 2 | — | July 1, 2020 | LoadRunner 2020 Service Pack 2 Enhancements have been done in DevWeb, TruClient, PCoIP protocol, PCAP recording, VTS, and Integration with LoadRunner Enterprise. This version introduces OneLG, a combined load generator installation for all of the LoadRunner family products. You select the relevant LoadRunner family product during installation, and can later swap to a different product if required. Support for the execution of Gatling performance testing assets as part of Controller scenarios. This feature is currently available as tech preview. |
| 2020 Service Pack 3 | — | September 29, 2020 | LoadRunner 2020 Service Pack 3 Enhancements have been done in DevWeb, TruClient, .NET protocol. TeamCity Plugin Usage Analytics tool |
| 2021 | — | January 12, 2021 | LoadRunner 2021 new DevWeb Engine DevWeb gRPC support DevWeb Correlation Candidates Dynatrace SaaS and Managed Integration Selenium scripts support |
| 2021 R1 | R1 | April 29, 2021 | LoadRunner 2021 R1 Full code completion in DevWeb CA certificate generation in DevWeb DevWeb gRPC support HLS Live Streaming Support in Web HTTP/HTML Java scripts support in Linux LGs Silk Performance support Round robin distribution of Vusers |
| 2021 R2 | R2 | October, 2021 | Silk Performer integration Azure Insights monitoring LoadRunner Enterprise integration |
| 2022 | | February, 2022 | Kafka Protocol Support for Azure Key Vault Chaos testing with Gremlin LoadRunner Data Hub UTF-8 encoding for non-English character display |
| 2022 R1 | R1 | June, 2022 | Prometheus integration Controller online dashboard modernization Citrix Workspace 2203 LTSR support SLA support for Selenium scripts |
| 2022 R2 | R2 | October, 2022 | .NET Plus protocol PCoIP protocol support for VMware Horizon 8 VTS support for Docker Datadog integration IPv6 communication support Dynamic monitoring for Windows Resources monitor Smart Vuser allocation |
| 2023 | | March, 2023 | User experience Data and analytics VuGen, protocols, and LoadRunner Developer Load testing and modeling Cloud and SaaS Integrations and ecosystem Modernization Security and infrastructure PCoIP protocol support for VMware Horizon 8 VTS support for Docker Datadog integration IPv6 communication support Dynamic monitoring for Windows Resources monitor Smart Vuser allocation |
| 2023R1 | R1 | July, 2023 | Window size and location Usage analytics report update SLA support for APDEX Load generator distribution for Vuser group scenarios Ubuntu Server Linux 22.04 LTS 64-bit. Load generators can now be installed on Red Hat Enterprise Linux 9 Chaos testing support for Steadybit on-premise server Online monitor graphs enhancements Automatic reconnect for load generators Installation of Gatling and JMeter is now optional for load generators VTS now supports LDAPS connection to the domain controller for NTLM authentication. TruClient protocols include the following updates:Upgraded browser version support Chromium: Version 113 TruClient Browser: Equivalent to Firefox version 110 This release introduces the new Cloud for AWS protocol. With this protocol, you can create Vuser scripts to monitor the usage of Amazon Simple Queue Service (SQS) DevWeb and Web protocol updates SAPGUI updates Kubernetes orchestrator updates The LoadRunner Enterprise Administration REST API enables you to un-assign a user, specified by ID, from a specific project |
| 24.1 | 24.1 | Feb, 2024 | SteadyBit chaos integration New simplified masthead Redesigned module navigation menu. The load test Dashboard was replaced with a Home Page The LoadRunner Enterprise Administration dashboard now refreshes automatically to provide you with live updates and notifications. REST APIs are now supported for updating passwords in various LoadRunner Enterprise components and configuration tools. This lets you change passwords more easily, with minimal user intervention. To reduce the risk of credential-based attacks, LoadRunner Enterprise’s built-in authentication now includes user lockout settings. These settings let you determine how many unsuccessful login attempts are allowed within a specified time frame before a user is locked out. LoadRunner Enterprise now supports working on a FIPS-enabled environment. It is compliant with the FIPS 140-2 standard, for the protection of sensitive or valuable data. You can now install a LoadRunner Web Recorder extension in Chrome to record events for a Vuser script. This allows you to create scripts in cases where the security policy blocks the standard VuGen recorder. This release includes an integration with CyberArk, providing support for use of CyberArk identity security for privileged accounts. A new LoadRunner API enables you to connect to the CyberArk vault and query for passwords. VuGen contains a new script designer for creating AWS protocol scripts. Using the script designer, you can generate an SQS script without having to manually insert code TruClient browser updates 118-120 Citrix, Java and SAP updates to latest versions You can now push real-time data from a Controller scenario run to the Datadog platform. The sent data includes performance metrics and scenario details from the run. |

## Scripting Languages

LoadRunner client emulation scripts are usually created using the ANSI C programming language. However, Java and .Net programs can also be run by LoadRunner. Version 12.50 added the use of JavaScript for Web-HTTP/HTML scripts.
Scripts from other testing tools such as Apache JMeter, Gatling, NUnit, and Selenium can be run by LoadRunner by declaring an interface library. This enables scripts to send key-value pairs to the Controller as the script runs, enabling response times to be associated with specific conditions such as the number of items displayed in the User Interface.
LoadRunner scripts can also be called from within Jenkins.

## Support for JMeter Tests

LoadRunner 12.55 enables testers to run Apache JMeter scripts from Controller, alongside Vuser scripts can view the results to LoadRunner measurements. This feature is provided as beta version.