Release Notes
The notes below provide descriptions of the new features and changes introduced with each release of Eggplant DAI. You are strongly encouraged to read about the relevant changes whenever you upgrade from an earlier version.
Potential compatibility issues are highlighted.
To the extent you are entitled to a copy of the source code for the open source software distributed with this product, a free copy will be provided. Please contact us with your request.
System Requirements
You can find supported operating systems and system recommendations on the Prerequisites page.
Before you upgrade, make sure that you stop all your DAI servers and services, and then take a backup of your database folders (data
and minio
) and configuration file (config.yml
) before you start your installation. If there is a problem with your upgrade, you will need to restore to this point. If you have any questions or would like help testing your database before you upgrade, please contact your Technical Success Manager or our Customer Support.
- Eggplant DAI 7.4 is the latest major release.
- You must upgrade to Eggplant DAI 7.3 before you start your 7.4 upgrade.
- The upgrade may take 10-20 minutes to complete.
- Eggplant DAI 7.4 is only compatible with Eggplant Functional 23.4.x. When upgrading to Eggplant DAI 7.4, you must also update your version of Eggplant Functional.
Release 7.4 (August 2024)
This version of DAI includes the following enhancements, defect fixes, and CVE fixes:
Retry Test Configuration Runs
DAI can now retry any test configurations that would have ended with an error in previous versions due to the unavailability of required resources, such as a SUT or execution environment. Now, at the start of test configuration run, DAI can check the availability of the resources required. If they are locked, the execution status will be set to Pending
and the test configuration console log will report the resource constraint that is blocking the execution. Retries can occur at a regular interval, and for a period of time, specified by the DAI System Administrator in the server configuration. This enhancement enables you to fully benefit from step-level retesting and stop-on-failure without concern about scheduling clashes, and license or resource contention. See Retry Settings for SUT and Execution Environment Connections for information about these configuration options.
Enhanced Test Case Parameterization (Model-based)
You can now override existing model parameter values at the test case level by setting a custom value against any of the available parameters at the step level of the test case. Live Run now also supports the setting of the parameter values at runtime, so you can confirm the effect of applying specific values interactively. See the Set Parameters on the Live Run page for more information. In addition, the same parameter values can also be overridden at the test configuration level for tests executed by the Runner. With this new capability, you can avoid the need to duplicate test cases and test configurations to drive different application behavior thereby reducing your maintenance overhead. You can now consolidate to using a single set of test assets and drive the desired behavior by modifying with different parameter values as required. See Configure Custom Parameters for Steps Added.
The parameterization enhancement in DAI 7.4 is for model-based testing. Parameterization for script-based test cases has been available since DAI 7.2, but will be expanded for script-based test configurations in the next release, 7.5 . DAI 7.5 will also provide full CI/CD integration for both modes via the Eggplant Runner/Azure DevOps/GitHub/Jenkins integrations. These future enhancements will be beneficial in a number of scenarios such as dynamic environment or SUT allocation for a test run.
Windows Single System Connection Type Support (Development/Live Run)
You can now leverage the Eggplant Functional Single System connection type for Windows desktops in DAI. DAI support for this connection type is primarily designed to simplify the test asset development process through Live Run. The Single System connection type is available for both model- and script-based executions. When triggering a Live Run, you will need to select a pre-configured, ‘local’ Single System SUT connected to your ‘local’ Execution Environment. See Adding SUT Connections and Step by Step: Entering Single System Connection Details for more information about the Single System SUT connection type.
Live Run, which uses the DAI Design Agent, requires users to select a pre-configured DAI SUT that corresponds to the same host as the selected Execution Environment in order to gain access, i.e. both the Execution Environment and SUT are on the same host and linked in the SUT configuration.
Due to technical implementation constraints, when running a Test Config and therefore using a DAI Run Agent to execute using a Single System connection, the agent cannot be launched as a Windows service. It instead must be run from a command-line within an active desktop session.
Public API – Test Results Only
DAI 7.4 includes its first formal, publicly available API. This first public API provides access to test results for integration purposes only. You can use it to extract a list of test results, individual test logs, and screenshots. See Public API Overview for more information.
Test Result IDs Reported via the Eggplant Runner
The Eggplant Runner now includes links to individual results within the console log output, so you do not need to parse the result.xml file for third-party integrations. For example, you can now see result links similar to the following examples in your output:
2024-05-14 18:59:13,318 INFO Test configuration run completed with status SUCCESS
2024-05-14 18:59:13,318 INFO Test configuration ed6c3bc4-41a4-4cfa-abd2-e8a789f0d5d9 exited with status SUCCESS
2024-05-14 18:59:13,319 INFO Results: http://localhost:8000/controller/results/runs/b8e99c6d-1424-488d-8aed-539a84f4938a
2024-05-14 18:59:13,409 INFO Total test runs: 5
2024-05-14 18:59:13,410 INFO Test run 75: http://localhost:8000/controller/results/75
2024-05-14 18:59:13,410 INFO Test run 76: http://localhost:8000/controller/results/76
2024-05-14 18:59:13,410 INFO Test run 77: http://localhost:8000/controller/results/77
2024-05-14 18:59:13,411 INFO Test run 78: http://localhost:8000/controller/results/78
2024-05-14 18:59:13,411 INFO Test run 79: http://localhost:8000/controller/results/79
Encryption of RabbitMQ Traffic
DAI now provides an option to encrypt communication with its embedded message broker (RabbitMQ Server) when you enable HTTPS on your DAI server. Specifically, you can configure DAI to use Transport Layer Security (TLS) for all RabbitMQ communications. By default, RabbitMQ will continue to use unencrypted communications. To configure RabbitMQ to use a certificate to encrypt all traffic, you will need to modify the DAI configuration file (config.yml
) with new settings. See Encrypt RabbitMQ Communications for information about how to use these settings.
External Communication Protocol Security Hardening
This release includes configuration updates to nginx and Python to enable HTTPS security headers adn the addition of a whitelist of trusted domains for cross-origin resource sharing (CORS). Strict-Transport-Security, Content-Security-Policy and X-Content-Type-Options are all set by default on HTTPS configured instances with appropriate values.
Silent (Unattended) Install for Windows
DAI now supports the option to perform "silent", unattended installations, upgrades, and uninstalls at the command line. We use the term "silent" to describe the process of installing (or upgrading or uninstalling) without the input of a user through a graphical user interface (GUI). Instead, you can specify the configuration settings you want your DAI Server to run with in a new silent.ini file that the DAI installation program will read when it runs. You can use this silent option if you are automating the installation of DAI or if you only have command line access to a machine. See Silent Install, Upgrade, and Uninstall of Eggplant DAI on Windows for more information.
Defect Fixes
-
Fixed an issue where, in some circumstances, large models with a long change history could delay the start of test runs (CRD-1626).
-
Fixed an issue where passthrough parameter values were overwritten in the sub-model. The parameter value is now passed between the main model and sub-model without being regenerated, which preserves the value.
ノートYou should be aware that this change may affect existing model execution.
-
Fixed an issue where, in some circumstances, models with a large number of test cases experienced a delay when loading the list of test cases in a test configuration (CRD-1630).
-
Fixed an issue where test cases with a global action added to a state that had a state parameter defined were inappropriately reported as an 'Individual test case' and could not be executed. This is now allowed (CRD-1620).
-
Fixed an issue where attempts to upload a test suite with a name longer than 50 characters failed with a
Failed to deserialize exception
. Suite names containing more than 50 characters can now be uploaded to DAI successfully (CRD-1631). -
Fixed an issue where the Design Agent failed to upload suites to the Versioned Asset Manager on the DAI Server where filenames in the suite contained Unicode characters (CRD-1639).
CVE Fixes
DAI 7.4 remediates the following vulnerabilities, which are listed by whether they occurred in the DAI frontend or backend.
-
Upgrade of Jinja to 3.1.4 to remediate: CVE-2024-34064
-
Upgrade of Werkzeug to 3.0.3 to remediate: CVE-2024-34069
-
Upgrade of Keycloak to 25.0.1 to remediate against a number of Black Duck advisories
-
Upgrade of Nginix to 1.26.1 to remediate against a number of Black Duck advisories
-
Upgrade of mingit to 2.45.2
-
Upgrade of RabbitMQ to 3.13.3
-
OpenJDK upgrade to v21 (Keycloak)
-
PostgreSQL upgrade to 14.12-1
-
Minio upgrade to RELEASE.2024-06-06T09-36-42
Release 7.3 (May 2024)
This version of DAI includes the following enhancements and defect fixes:
Ability to Stop a Test Configuration on a Failed Step
You can now configure DAI to stop a test configuration (test config) run when a test step fails, rather than continuing to run the remaining steps. See Step 3: Configure Advanced settings for the Test Configuration for information about how to disable the Continue running test config on step failure option.
Automatic Scheduled Deletion of Test Results, Logs, and Screenshots
You can now configure DAI to automatically delete your test results, logs, and screenshots ("test artifacts") on a scheduled basis. See Enabling Scheduled Test Artifact Deletion for information about how to schedule the deletion of your test results.
Ability to Select Multiple Test Cases to Add to a Test Config or Scripted Test Case
For test configs, you can now search for test cases, select multiple test cases, or add all the test cases at once to your test config. See Step 2: Configure the Steps/Actions for the Test Configuration for information about adding multiple test cases. You can also remove all test cases at once from a test config.
Similarly, for script-based test cases, you can now search for test steps to add, or add or remove all test steps at once from your script-based test case.
Ability to Hide Sub-models in Test Results
To improve clarity and reduce potential confusion caused by duplicate result entries, DAI now provides the option to hide test results of sub-models.
Ability to show only Live Run or Test Config results in Test Results
To improve clarity, you can now filter your test results by either Live Run or Test Config.
Masks Secrets from DAI Logs
To adhere to security best practices, some information passed between DAI components is now hidden from inadvertent exposure in plain-text logs.
Defect Fixes
- Fixed an issue in that occurred when you were connected to a Design Agent and editing snippets in the Designer where a vertical line displayed in the center of the snippet editor.
- Fixed an
Internal Server Error
that occurred when you deleted a test config that was created with a model and a tag. - Fixed an internal server error
500 Composite request failed
where DAI did not display the test case list for a model with an empty sub-model ID. - Fixed an issue where the DAI service failed to start on Windows because you specified a custom path for the PostgresSQL database directory during the DAI Windows installation.
- Fixed an issue where DAI used the default directory location for the PostgresSQL database even when you specified a custom location during DAI installation.
- Fixed an issue where DAI inconsistently validated test config and test case names.
- Fixed a
502/503 Error saving model
error that occurred when you created or edited a model. - Fixed a issue where DAI failed to get test execution details with
Error
status. - Fixed an issue where the test cases name filter on the Test Results page in the DAI Controller did not show multiple test cases with the same name.
- Fixed an issue where exploratory testing was only testing one specific path repeatedly. Note: This change subtly affects the behavior of the DAI AI Engine. As a result, you may experience generated tests following different paths than they did with previous releases.
- Fixed an issue where DAI removed the seed from the last logged line in the test case result logs.
- Fixed an issue where DAI failed to change a date range after you selected it with a calendar selection from filtering.
- Fixed an issue where the drop-down list for User Journeys was cropped in the Designer.
- Fixed an issue where you could not filter the Run status on the Test Results page in the DAI Controller by typing the option you wanted when the menu was open and pressing enter.
- Fixed an issue where non-Roman alphabets were not displaying correctly in models.
- Fixed an issue where multi-line comments did not display properly in snippets.
- Fixed an issue where the Actions menus (the three dots icon) in tables jumped when you clicked them.
- Fixed an issue where green-colored text was hard to read.
- Fixed an issue with Dark Mode in Test Config notifications.
- Fixed an issue where the Model drop-down list displayed incorrectly on low resolution screens.
- Fixed an issue where the DAI Windows installer Keycloak version was different than the Keycloak tag.
- Fixed an issue where the DAI Design Agent on CentOS failed to download a suite from a Garden environment.
- Fixed an issue where the DAI System > Agent Tools page partially displayed the drop-down list and the list was not scrollable.
- Fixed an issue where the DAI Run Agent failed to run as a Windows service.
- Fixed minor user interface (UI) issues on the System > Access > Manage Users page and System > My Account > Account Settings page.
- Fixed an issue where the Edit button on the SUT detail page displayed misaligned on Mac Safari browsers.
- Fixed an issue where the Insights Bug Hunting chart hover did not show the correct label.
- Fixed an issue so that the Date Range drop-down list on the Test Case Dashboard now saves the selections when you press the
Space
key. - Fixed an issue where the results on the Controller > Runner page did not resize well on smaller screens.
- Fixed an issue where the specified execution environments on the New or Edit SUT page were ignored when using a cloud-based execution environment.
- Fixed an issue in the test case detail page where a test case name did not fit within the page heading. Note that the test case detail page is the page you see when you choose View from the Actions menu for your test case on the Designer Test Cases page.
- Changed the default log level of a DAI Run Agent and EPF to a less detailed level.
- Fixed a sort issue where a step in a test case appeared in an inappropriate order after you modified and saved it.