You can now use Generation Rules without losing the ability to manually edit your script code through the use of pre-defined Regions, located in specific parts of the script.
Any code placed within a Region persists between regenerations of the script.
Improved handling of ASP.NET-based web sites
Web pages written using ASP.NET pose a challenge when trying to record and replay scripts for performance testing. In particular, ASP.NET uses hidden fields to transfer and persist data between the server and the client. Hidden fields are likely to be different for each test run, and must be correlated carefully so that the virtual users send correct data back to the server each time.
The ASP.NET virtual user addresses these concerns by automatically parsing and handling hidden fields on ASP.NET web pages. It is based on the C# Web virtual user, but comes with additional methods as described in the C# API.
Generation Rules Assistant
The Generation Rules Assistant aids creation of generation rules by analyzing pieces of text.
It can then suggest whether a value needs to be correlated or replaced.
New Data List Correlation Generation Rule
Allows for the easy extraction of multiple variables from a list, and subsequently logic for selecting from these lists (random, particular item, etc.)
New Verify Response Length Generation Rule
Allows easy verification that the length of a response is what we expect, within a tolerance value.
New Custom Code Generation Rule
Allows custom code to be automatically inserted into the script before/after certain requests are sent to the server.
Support for background scripts
A Background Script is a script that runs in parallel with the foreground scripts that make up a Virtual User's workflow.
New methods have been added to the Java and C# API's to control background scripts: there are methods to create, start, stop, suspend and resume background scripts.
Background scripts allow easier replication of complicated browser behavior, such as asynchronous polling.
A new Generation Rule has been added to make working with background or asynchronous HTTP threads easier. The rule allows one to identify and exclude background requests from the main script. It will create a new empty script where the background requests behavior can be implemented, and insert code into the main script for starting and stopping the background script.
Generation Rules can now access the current Request, Response and Url objects
Special macros can now be used within code planted by the web generator.
The generator will replace the macros with the object that is currently in scope.
Support for regenerating multiple scripts simultaneously.
Improved integration with eggPlant Functional
Creating a script from an eggPlant Functional suite now prompts the user with a new dialog where one can specify the System-Under-Test connection details, e.g. which type of connection to use (RDP/VNC), user account and password, hostname and IP address, etc.
The information specified in this dialog is then populated in the resulting ePP script, where new overloads for the Connect() API method make it much easier to initiate a connection to the SUT through ePP.
Support has been added for iterations and workflows; it is no longer necessary to define these manually in SenseTalk.
All eggPlant Performance data bindings are now accessible from any eggPlant Functional script that is executed by eggPlant Performance.
The data is placed in a special property list, called performance_data.
OCR support has been added to the Citrix Virtual User
OCR support is provided by the ABBYY FineReader engine.
The eggPlant Performance OCR engine must be installed on all injectors in order to use this functionality.
Support for tolerance and discrepancy in image matching
Image matching improvements are available in both the Citrix and WinDriver virtual users.
Support for associating and disassociating Elastic IP Addresses with Amazon Cloud injectors.
The web generator now supports multiple live values of a correlated value
The variable name planted by a Data Correlation rule now contains the index number of the response it was extracted from.
This allows multiple different values to be extracted by the same rule and for all the values to be "live" at the same time.
The web generator now automatically disposes Request/Response objects when they are no longer needed.
Request/Response objects can be large, so we can make more efficient use of available memory by disposing of them as soon as we have finished with them, rather than waiting for the garbage collector to collect them.
For C#, the web generator now wraps all Request and Response objects in a using block.
For Java, the web generator now wraps all Request and Response objects in a try-with-resource block.
Data correlation rules are now able to correlate data sent in a redirected response
New methods Response.getRedirectedFrom(int depth)/Response.GetRedirectedFrom(int depth) added to the Java/C# web API's, respectively.
Calls to these new methods are planted by the web generator if it finds data that needs to be correlated in a response that has been redirected.
Added the ability to exclude responses containing binary data from Data correlation rules.
Improvements to Generation Rule filters
Filter by response code.
Filter by POST data.
Data correlation rules can now extract data from HTTP response headers, as well as from the body of the response.
Support for custom error reporting for different HTTP status codes
New methods in the API to control whether a specific HTTP status code (e.g. 404 Not Found) results in a warning or an error.
Also allows custom handling of non-standard HTTP status codes returned by some servers.
Integration with Amazon EC2 and Microsoft Azure allows injector capacity to be added on demand.
Create new injector virtual machines in the cloud with the click of a button.
When a test run is started, all the required cloud injectors are started automatically.
At the end of a test run, the cloud injectors can be automatically shut down or rebooted.
Any cloud injectors that are no longer required can be deleted with the click of a button.
Injectors with the same characteristics are now grouped into Injector Families for easy configuration.
Script debugging with Visual Studio and Eclipse
Individual scripts can be run in an IDE, allowing step by step debugging.
For C# scripts, we support debugging in Visual Studio.
For Java scripts, we support debugging in Eclipse.
Dynamically stop virtual users during a test run
You can choose to stop specific virtual users at any time during the test run.
Change the pause factor of a group during a test run
You can change the pause factor for either the whole test, or for individual groups, at any time during the test run.
Automatic correlation of cookie values
If a cookie value, such as a session ID, appears in the path or query part of a URL then it will automatically be replaced with the correct value during replay.
New style licenses
The licensing model has been simplified.
There are no longer separate licenses to unlock the machine and to activate virtual users. Instead, there are simply node locked licenses that are tied to a particular computer, or evaluation licenses that can be used on any computer.
Shared Data Server scalability improvements
Connections to the Shared Data Server from each engine are now managed intelligently by the engine; you no longer have to manually open/close the connections in your scripts.
Sharing connections across virtual users massively increases the number of virtual users that can communicate with a single Shared Data Server.
Export individual test runs from Test Controller or Analyzer
Individual test runs can be exported from Test Controller or Analyzer in the form of a zip file.
Removal of support for C++ Web
C++ web scripts are no longer supported. If you have any C++ web scripts in your workspace then you will be unable to upgrade your workspace to work with version 6.0