Skip to main content
Version: 23.5

Eggplant Functional 23 Release Notes

The notes below provide descriptions of the new features and changes introduced with each release of Eggplant Functional (EPF). You are strongly encouraged to read about the relevant changes whenever you upgrade from an earlier version.

Compatibility

Beginning with EPF 23.1.1, you can find the EPF-supported software, operating systems, and system recommendations on the Prerequisites page.

Notes

  • Beginning with EPF 23.2.0 and 23.2.1, a Japanese version of the EPF documentation is available. Note that the Japanese documentation version is 23.0.0. But the versions should be in sync in a future release. You can find the Japanese documentation here, which is the English EPF documentation url with the "/ja" extension.

  • Eggplant Functional will no longer support the classic iOS and Android Gateways starting in the fall of 2024. Users are encouraged to migrate to the Eggplant Gateway embedded in Eggplant Functional.

  • Eggplant Functional will remove the auto-classification of elements in Autoscan feature in an upcoming release.

  • Tables functionality will be removed in a future release.

note

For the latest information about Eggplant Functional releases, see the Release Notes in the online documentation.

EPF 23.5 and 23.5.100 (November 2024)

EPF versions 23.5.0 and 23.5.100 do not include any new updates but bundle the updates of EPF 23.4.1 and 23.4.102, 23.4.2 and 23.4.103, and 23.4.3 and 23.4.104, and are verified to work with DAI 7.5:

EPF 23.4.104 (October 2024)

The EPF 23.4.104 release is available for Mac and Windows only. It contains the same updates and bug fixes as the 23.4.3 release described below, except that it includes a different version of the Optical Character Recognition (OCR) component, which is the EPF component that reads text.

Included OCR Version

The EPF 23.4.104 release includes the following OCR version:

  • Mac and Windows OCR version: 12.2, which we recommend for best results with Western language recognition on Mac and Windows. For best results with Eastern language recognition, we recommend release 23.4.3 as described below.
note

You can verify what version of OCR your EPF instance is running with using the following SenseTalk function: ocrversion()

put ocrversion() --> 12.2

EPF 23.4.3 (October 2024)

Included OCR Version

The EPF 23.4.3 release includes the following OCR version:

  • Mac and Windows OCR version: 12.4, which we recommend for best results with Eastern language recognition on Mac and Windows. For best results with Western language recognition, we recommend release 23.4.104.
  • Linux OCR version: 12.3, which provides best results for recognition of all languages on Red Hat, CentOS, and Ubuntu.
note

You can verify what version of OCR your EPF instance is running with using the following SenseTalk function: ocrversion()

put ocrversion() --> 12.2

Features

The 23.4.3 release of EPF contains the new SenseTalk version 2.20 which includes:

  • New Excel color and Worksheet functionality
  • Property list performance improvements

Defects

  • Improves SenseTalk Performance when modifying nested Property Lists (CRD-1662)
  • Fixes an issue with RDP Beta not respecting DefaultWidth and DefaultHeight parameters (CRD-1675)
  • Fixes the Contrast Slider in RHEL8 version of EPF (CRD-1679)
  • Updates the macOS installation drive icon (CRD-1506)
  • Fixes an issue with API Tests not returning all cookies from HTTP requests (CRD-1658 - partial)
  • Fixes an EPF crash when running SenseTalk Scripts from DAI

Security and Dependency Updates

  • Updates LibTIFF to the latest version
  • Updates 3rd Party Dependencies

SenseTalk Enhancements

The 23.4.3 release of EPF contains the new SenseTalk version 2.20, including new Excel color and Worksheet functionality, and property list performance improvements.

Additional Excel Functionality

  • Adds the ability to set the HeaderRow to any arbitrary row when accessing worksheets as a Database
  • Adds the ability to override ColumnNames when accessing worksheets as a Database
  • The CellRange function now allows for accessing non-contiguous rows and columns
  • New Worksheets can now be created in an existing Workbook from SenseTalk
  • Many new worksheet properties can now be accessed and modified from SenseTalk. For example: FillPattern, BorderStyle, RowHeight, etc. For a full list see Excel File Interaction

Performance Improvements

  • Addresses a subtle bug where modifying nested property lists (property lists containing property lists of property lists containing property lists…) would slow down execution for large lists. Such operations are on the order of two orders of magnitude faster in SenseTalk 2.20.

Defect Fixes

  • Fixes a subtle issue when comparing a list within a list when there was only a single nested list. When two lists were compared, only the first element of the nested lists were compared. This has been addressed in SenseTalk 2.20.

Example:

# In the case that a list contains a single nested list \{#in-the-case-that-a-list-contains-a-single-nested-list}
# only the first element in each nested list is checked \{#only-the-first-element-in-each-nested-list-is-checked}
# when checking for equality... \{#when-checking-for-equality}
if [["ice", "t"]] is equal to [["ice", "cube"]]
put "The list comparison is bugged!" # is printed every time in SenseTalk < 2.20
else
put "This works as expected" # is printed every time in SenseTalk >= 2.20
end if

# If there is more than one nested list, the comparison has always worked... \{#if-there-is-more-than-one-nested-list-the-comparison-has-always-worked}
if [["ice", "t"], ["vanilla", "ice"]] is equal to [["ice", "cube"], ["eazy", "e"]]
put "The list comparison is bugged!"
else
put "This works as expected" # is printed every time for all versions of SenseTalk
end if

# If there is more than one nested list, the comparison has always worked, \{#if-there-is-more-than-one-nested-list-the-comparison-has-always-worked-1}
# even when the other nested list is the same (so we know that the second item \{#even-when-the-other-nested-list-is-the-same-so-we-know-that-the-second-item}
# in the first nested list is checked) \{#in-the-first-nested-list-is-checked}
if [["ice", "t"], ["biz", "markie"]] is equal to [["ice", "cube"], ["biz", "markie"]]
put "The list comparison is bugged!"
else
put "This works as expected" # is printed every time for all versions of SenseTalk
end if

EPF 23.4.103 (September 2024)

The EPF 23.4.103 release is available for Mac and Windows only. It contains the same updates and bug fixes as the 23.4.2 release described below, except that it includes a different version of the Optical Character Recognition (OCR) component, which is the EPF component that reads text.

Included OCR Version

The EPF 23.4.103 release includes the following OCR version:

  • Mac and Windows OCR version: 12.2, which we recommend for best results with Western language recognition on Mac and Windows. For best results with Eastern language recognition, we recommend release 23.4.2 as described below.
note

You can verify what version of OCR your EPF instance is running with using the following SenseTalk function: ocrversion()

put ocrversion() --> 12.2

EPF 23.4.2 (September 2024)

The EPF 23.4.2 release includes new iOS support as well as a number of fixes described below.

note

Eggplant Functional will no longer support the classic iOS and Android Gateways starting in the fall of 2024. Users are encouraged to migrate to the Eggplant Gateway embedded in Eggplant Functional.

Eggplant Functional will remove the auto-classification of elements in Autoscan feature in an upcoming release.

Included OCR Version

The EPF 23.4.2 release includes the following OCR version:

  • Mac and Windows OCR version: 12.4, which we recommend for best results with Eastern language recognition on Mac and Windows. For best results with Western language recognition, we recommend release 23.4.103.
  • Linux OCR version: 12.3, which provides best results for recognition of all languages on Red Hat and Ubuntu.
note

You can verify what version of OCR your EPF instance is running with using the following SenseTalk function: ocrversion()

put ocrversion() --> 12.2

Features

  • All security settings set for RDP connections are now honored by the new RDP Beta connection type
  • Adds support for iOS 17 and beta iOS 18 via Eggplant Gateway

Defect Fixes

  • Addresses a hang that would occur when image search failed on RHEL8. (CRD-1638)
  • Fixes an issue where Eggplant Functional would incorrectly modify search rectangle coordinates while rounding non-integer values. (CRD-1595)
  • Fixes a parsing failure from Git during Test Config. (CRD-1640)
  • Fixes a problem where a "WARNING: Secure coding is not enabled" message would display when launching the DAI 7.3 Run Agent. (CRD-1622)
  • Fixes an issue where RDP Beta wouldn't show the hostname and port in the connection list.
  • Fixes the root cause of TypeText Mobile Commands breaking, enabling rotateMobile and Search Button to return correct results.
  • Fixes an issue with keyboard mapping of the Alt key on Single System SUTs. (CRD-1650)

Security and Dependency Updates

  • Addresses a known instance of CVE-2023-45853 with a LibXL dependency update.
  • Updates FFmpeg, libtiff, and ImageMagick dependencies.

EPF 23.4.102 (August 2024)

The EPF 23.4.102 release is available for Mac and Windows only. It contains the same updates and bug fixes as the 23.4.1 release described below, except that it includes a different version of the Optical Character Recognition (OCR) component, which is the EPF component that reads text.

Included OCR Version

The EPF 23.4.102 release includes the following OCR version:

  • Mac and Windows OCR version: 12.2, which we recommend for best results with Western language recognition on Mac and Windows. For best results with Eastern language recognition, we recommend release 23.3.2 as described below.
note

You can verify what version of OCR your EPF instance is running with using the following SenseTalk function: ocrversion()

put ocrversion() --> 12.2

Sensetalk Enhancements

This release contains SenseTalk version 2.19. This is the same version included with the 23.4.1 Release of EPF.

EPF 23.4.1 (August 2024)

Included OCR Version

The EPF 23.4.1 release includes the following OCR version:

  • Mac and Windows OCR version: 12.4, which we recommend for best results with Eastern language recognition on Mac and Windows. For best results with Western language recognition, we recommend release 23.4.103 as described below.
  • Linux OCR version: 12.3, which provides best results for recognition of all languages on Red Hat and Ubuntu.
note

You can verify what version of OCR your EPF instance is running with using the following SenseTalk function: ocrversion()

put ocrversion() --> 12.4

Features

EPF is now available in the Iron Bank marketplace, Platform One's hardened container image repository. This enables a secure software supply chain for all software engineers in the greater Department of Defense (DoD) community. For more information, visit Platform One and the Eggplant Fusion Engine container image.

Defect Fixes

  • Fixes an issue where running multiple instances of Eggplant Functional would cause it to launch the “Submit Support Request” dialog box on subsequent launches. (CRD-924)

  • Fixes an issue where the PC could not be shut down after disconnecting from a Single System SUT.

  • Fixes an issue where calling an API test from a script or handler would cause a confusing error that said “Load Script … Not a valid suite” and would fail to run. (CRD-1300)

  • Addresses a hang that would occur when running Gherkin feature files in some situations. (CRD-1601)

  • Fixes a problem where checkboxes for API Headers in the API Test dialog box were not functional. (CRD-1554)

  • Fixes a bug where after disconnecting from a selenium connection, Eggplant Functional was unaware of the disconnection and attempted to use selenium, causing the script to fail in error. (CRD-1509)

  • Corrects documentation links under the Connection List, which are now updated and accurate. (CRD-1517)

  • Improves notification that Single System SUT is only supported on 64 bit.

  • Improves login restrictions of Single System SUTs in that Admin access is limited to the Admin account and User access is limited to the User account.

  • Provides performance improvements to the Single System SUT connection type.

Sensetalk Enhancements

The EPF 23.4.1 release contains SenseTalk version 2.19 + 5323.956, which includes the following improvements:

Added support for 11 higher-level math functions

  • acos (arc cosine), asin (arc sine), atanPt (arc tangent given a point), cosh (hyperbolic cosine), sinh (hyperbolic sine), tanh (hyperbolic tangent), acosh (inverse hyperbolic cosine), asinh (inverse hyperbolic sine), atanh (inverse hyperbolic tangent), log10 (base 10 logarithm), cbrt (cube root).

SenseTalk Defect Fixes

  • Addresses an issue where use of Wait Until or Wait While would cause a memory spike and eventual crash. (CRD-1594)

  • Addresses an issue on Windows systems when using the put or similar commands would cause a crash in some situations. (CRD-1635)

EPF 23.4.0 and 23.4.100 (August 2024)

EPF versions 23.4.0 and 23.4.100 do not include any new updates but bundle the updates of EPF 23.3.1, 23.3.2 and 23.3.3 and are verified to work with DAI 7.4:

EPF 23.3.3 and 23.3.104 (July 2024)

EPF versions 23.3.3 and 23.3.104 contain the following CVE Fixes:

Otherwise, they provide the same functionality as their previous releases:

  • EPF 23.3.3 contains the same functionality as 23.3.2.
  • EPF 23.3.104 contains the same functionality as 23.3.103.

EPF 23.3.103 (June 2024)

The EPF 23.3.103 release is available for Mac and Windows only. It contains the same updates and bug fixes as the 23.3.2 release described below, except that it includes a different version of the Optical Character Recognition (OCR) component, which is the EPF component that reads text.

Included OCR Version

The EPF 23.3.103 release includes the following OCR version:

  • Mac and Windows OCR version: 12.2, which we recommend for best results with Western language recognition on Mac and Windows. For best results with Eastern language recognition, we recommend release 23.3.2 as described below.
note

You can verify what version of OCR your EPF instance is running with using the following SenseTalk function: ocrversion()

put ocrversion() --> 12.2

EPF 23.3.2 (June 2024)

The EPF 23.3.2 release is for all supported EPF platforms: Mac, Windows, and linux. The linux support consists of two installation packages for Ubuntu (one for Ubuntu 16.04 and one for 22.04) and two installation packages for RHEL (one for RHEL 7 and CentOS 7, and one for RHEL 8.)

note

On June 30, 2024, CentOS Linux 7 reached End of Life (EOL). EPF 23.3.2 is the final release for CentOS 7.

Included OCR Versions

The EPF 23.3.2 release includes the following OCR versions:

  • Mac and Windows OCR version: 12.4, which we recommend for best results with Eastern language recognition. For best results with Western language recognition on Mac and Windows, we recommend EPF 23.3.103 as described above.
  • Linux OCR version: 12.3, which provides best results for recognition of all languages on Red Hat, CentOS, and Ubuntu.

Features

The EPF 23.3.2 release includes a new SenseTalk GatherNamespaces command (and function) and _namespaces special property, as well as EPF and SenseTalk defect fixes. See SenseTalk Improvements for more information about the SenseTalk updates.

Defect Fixes

  • Fixes an issue where scripts that were added or deleted in Schedules were not saved when EPF restarted on Mac or Windows. This issue was reported against EPF version 23.3.100. See Running Scripts using Eggplant Functional Schedules for more information about using schedules.

  • Fixes an issue with the SenseTalk random() and any item functions failing to randomize a result on Windows. Previously, these functions were returning the same number every time, instead of a different, random number as expected. For example, the command log random(1,10) should not return the same value every time. This issue was reported against EPF 23.2.102. See Using Random() or Using Any for more information about either function.

  • Addresses crashes reported when capturing images on SUTs in some scenarios, such as an when you capture an image near the bottom of the screen. See Image Capture Best Practices for more information about capturing images.

  • Addresses crashes that occurred when the cursor was near the border of the Viewer window for SUTs connected using the RDP connection type.

  • Fixes an issue where the RDP Beta connection type was not showing the hostname and port in the Connection List. See Using the Eggplant Functional Connection List for more information about different display options in the Connection List.

  • Fixes an issue where the RDP Beta Connection type was not preserving newline characters in the text you specify with the SetRemoteClipboard command. See SetRemoteClipboard Command for more information about using this command.

  • Fixes an issue where libSenseTalkEngine.so messages were being written to the logs for EPF on Ubuntu 22.04 and Red Hat Enterprise Linux (RHEL) 8.

  • Fixes an issue where the script indentation was not aligning properly in the EPF GUI Script Editor on Ubuntu 22.04 and RHEL 8. See The Script Editor for more information about using the Script Editor.

  • Fixes an issue on Windows where EPF SUT connections failed when you side-loaded Eggplant Gateway (EPGW) with the message, "Gateway Location:...not valid. Please ensure the Gateway exists at the specified location." This issue occurred even when the specified location was correct. This issue was reported against EPF versions 23.3.1/23.3.102. Note Eggplant Gateway is an embedded component in EPF that facilitates SUT connections. EPF provides the option to change the version of Eggplant Gateway that your EPF runs with, which is called "side-loading."

SenseTalk Improvements

The EPF 23.3.2 release contains SenseTalk version 2.18 + 5281.735, which includes the following improvements:

  • Updated the STTreeNodeXModule to version 3.3, with better support for namespaces. See Using XML and Tree Structures in SenseTalk Scripts for more information about SenseTalk and tree structures.

    • Added the GatherNamespaces command and function, which copies all namespace definitions within a tree into the top-level (root) node to allow these node expressions to be used. Note that a node expression cannot locate a node with a namespace prefix when the namespace prefix is not defined in the root node of the tree being searched.

    • Added a _namespaces special property to allow you to access and change the namespace definitions of a tree. The value of the _namespaces property is a property list in which each key is a namespace prefix and its value is the associated namespace URI. For example:

      put "<unit>liter</unit>" as tree into unitTree
      set unitTree's _namespace to {u:"https://www.cuemath.com/measurement/"}
      put unitTree-->"<unit xmlns:u="https://www.cuemath.com/measurement/">liter</unit>
  • Added new syntax for a reference to a container. You can now use container by reference or container as a reference to specify a reference. See References to Containers for more information on this topic.

SenseTalk Defect Fixes

  • Fixes an issue where SenseTalk XML processing was not evaluating name spaces defined in sub-elements.

  • Fixes a bug with the replace command that would fail to perform the replace within a property list that was the value of a property within another property list.

  • Fixes a problem changing the _attributes property values of a tree, which on Windows and Linux systems only added or replaced the attribute values; it did not remove existing attributes. See Three Special Properties: _tag, _children, _attributes for more information about the _attributes property.

EPF 23.3.102 (May 2024)

The EPF 23.3.102 release is available for Mac and Windows only. It contains the same updates and bug fixes as the 23.3.1 release described below, except that it includes a different version of the Optical Character Recognition (OCR) component, which is the EPF component that reads text.

Included OCR Version

The 23.3.102 release includes the following OCR version:

  • Mac and Windows OCR version: 12.2, which we recommend for best results with Western language recognition on Mac and Windows. For best results with Eastern language recognition, we recommend release 23.3.1 as described below.
note

You can verify what version of OCR your EPF instance is running with using the following SenseTalk function: ocrversion() -->12.2`

EPF 23.3.1 (May 2024)

The EPF 23.3.1 release is for all supported EPF platforms: Mac, Windows, and linux. The linux support consists of two installation packages for Ubuntu (one for Ubuntu 16.04 and one for 22.04) and two installation packages for RHEL (one for RHEL 7 and CentOS 7, and one for RHEL 8.)

Included OCR Versions

The 23.3.1 release includes the following OCR versions:

  • Mac and Windows OCR version: 12.4, which we recommend for best results with Eastern language recognition. For best results with Western language recognition on Mac and Windows, we recommend EPF 23.3.102 as described above.
  • Linux OCR version: 12.3, which provides best results for recognition of all languages on Red Hat, CentOS, and Ubuntu.

Features

The EPF 23.3.1 release contains the following new features:

  • Adds support for Windows network domain users in Single System-type SUT connections, which are only available on Windows. For example, you can now specify usernames in the following format: <DOMAIN_NAME>\<user_name>, where <DOMAIN_NAME> is your network domain and <user_name> is the username you use to log into your network. For more information about Single System connection types, see Connecting to the Same System (Single System Testing).

  • Adds support for the GUI in the EPF installation packages for RHEL 8 and Ubuntu 22.04. Earlier releases of these packages only supported command line runs of scripts using the runscript command (also known as "headless executions").

  • Adds support for playing audio on SUTs over Beta RDP connections only. Note that this capability only allows you to play audio by manipulating the SUT through the Viewer window. For example, you could push the play button in a music app to play music. This capability does not provide any SenseTalk commands to enable scripted interaction to play audio on the SUT. Previously, you could not play audio on SUTs. For example, on Windows, you would see a disabled sound device on the desktop taskbar.

  • Provides better handling of languages for some VNC-type SUT connections. In addition to typing Unicode characters over VNC connections, you can now use the RemoteClipboard() function to copy and paste Unicode characters from the SUT's clipboard. To use this feature, the SUT targeted by your VNC connection must be running a VNC server that supports the RFB ("remote frambuffer") extended clipboard protocol, such as UltraVNC and TigerVNC. (Note that VNC connections require that a VNC server be running on the SUT.) An example of a VNC Server you would not be able to use this feature with is TightVNC. For more information about using the RemoteClipboard() function, see the RemoteClipboard Function.

Defect Fixes

  • Implements general stability improvements to the EPF Ubuntu 22.04 and RHEL 8 linux versions.

  • Implements the following SUT remote clipboard-related fixes in the Beta RDP (Remote Desktop Protocol) connection type only. If you are not using the Beta RDP connection type, you may still experience the issues listed below.

    • Fixes an issue where the RemoteClipboard() function returned question mark characters (?????) instead of Hebrew characters.

    • Fixes an issue where the RemoteClipboard() function returned question mark characters (?????) instead of Chinese characters.

    • Fixes an issue where the RemoteClipboard() function did not return Japanese characters.

    • Fixes an issue where the RemoteClipboard() function did not return anything when Unicode characters were copied.

    • Fixes an issue where the RemoteClipboard() function could not copy text that included a special character.

    • Fixes an issue copying speech history text data with the JAWS (Job Access With Speech) application to the remote clipboard.

note

To use the Beta RDP connection type in EPF, you must enable it in the EPF Preferences as follows:

  1. Choose Preferences (Settings on Mac) from the Eggplant menu.
  2. When the Preferences pane opens, display the Connections tab and, in the RDP Features section, enable the Use New RDP Connection (Beta) option.

Enabling this option switches any saved RDP connections that are in your Connection List (and saved in your Preferences) to use this Beta RDP connection type. Disabling it reverts them to the original RDP connection type. For more information about the Beta RDP connection, see the "Features" section for the 23.1.0 release below.

SenseTalk

Release 23.3.1 does not contain any SenseTalk updates.

EPF 23.3.100 (April 2024)

The EPF 23.3.100 release is available for Mac and Windows only. It contains the same updates and bug fixes as the 23.3.0 release described below, except that it includes a different version of the Optical Character Recognition (OCR) component, which is the EPF component that reads text.

Included OCR Version

The 23.3.100 release includes the following OCR version:

  • Includes OCR version 12.2, which we recommend for best results with Western language recognition on Mac and Windows. For best results with Eastern language recognition, we recommend release 23.3.0 as described below.
note

You can verify what version of OCR your EPF instance is running with using the following SenseTalk function: ocrversion() -->12.2`

EPF 23.3.0 (April 2024)

The EPF 23.3.0 release is for all supported EPF platforms: Mac, Windows, and linux. The linux support consists of two installation packages for Ubuntu (one for Ubuntu 16.04 and 20.04, and one for 22.04) and two installation packages for RHEL (one for RHEL 7 and CentOS 7, and one for RHEL 8.)

Included OCR Versions

The 23.3.0 release includes the following OCR version:

  • Mac and Windows OCR version: 12.4, which we recommend for best results with Eastern language recognition. For best results with Western language recognition on Mac and Windows, we recommend EPF 23.3.100 as described above.
  • Linux OCR version: 12.3, which provides best results for recognition of all languages on Red Hat, CentOS, and Ubuntu.

Features

EPF 23.3.0 provides the following new features:

Adds Support for Single System SUT Connections (Windows version of EPF only)

A Single System connection type is now available when you add a connection in the EPF Connection list. This connection type enables you to establish a connection to a child session on the same machine where you are running EPF and use it as a system under test (SUT). See Connecting to the Same System (Single System Testing) for detailed information.

Single System connections use your Windows credentials. Therefore, we recommend using the Windows Credential Manager to secure these (and all) your SUT connections. See Secure SUT Connection Credentials for more information.

The benefits of single-system testing include:

  • You can automate tests on your own machine
  • You do not need a second machine
  • You do not need to open ports on your machine
  • Your SUT connection is not vulnerable to disconnects due to network disruptions.
Using Single System Connections in the EPF GUI

You must create and save Single System connections through the EPF Connection List, which means using EPF in GUI mode. See Single System Specific Options on the Connection List page for information about creating these connections.

You can then connect to an existing Single System SUT using the Connection List or during a test script run in the EPF Suite window using the connect command as decribed below.

Using Single System Connections in a Script

You can connect to a Single System SUT during a script run, but you must first create and save the connection in the Connection List. Then you can pass the saved connection name with the connect command as shown in the example below:

connect 'mySingleSystemSUT`

The connect command does not have an option for Single System connections.

note

You cannot create Single System connections as temporary connections during a script run with the connect command.

Adds Support for RHEL 8 for Command Line Test Runs

This release adds EPF support for command line (runscript) executions on Red Hat Enterprise Linux (RHEL) version 8. The EPF GUI is not supported in this release. However, you can enable it for limited use with assistance from our Customer Support.

If you are upgrading from an EPF on RHEL 7 or CentOS 7, or you installed a previous version of EPF on RHEL 8, you need to reset the SUT connection passwords for your existing connection list connections after you upgrade to this EPF for RHEL 8 package. Contact Customer Support for assistance enabling the GUI to reset the passwords.

To install EPF on RHEL 8, you must use elevated privileges with the dnf package manager and the following commands:

  1. Download EPF for RHEL 8 from the EPF Downloads page to the machine where you want to install EPF.

  2. Unpack the EPF archive.

  3. Open a terminal and install the new EPF package from the extracted Eggplant folder with elevated privileges and the following command:

    sudo dnf install <path_to_extracted_folder>/Eggplant_rocky.rpm

To uninstall EPF from RHEL 8, you must use elevated privileges with the dnf package manager and the following command:

sudo dnf remove Eggplant

Note that the E in the eggplant package name must be upper-case.

Defect Fixes

EPF release 23.3.0 contains the following defect fixes:

  • Fixes a script error that occurred when calling the InstallApp command over an Android connection with a space in the Android package (.apk) file name.

  • Fixes a crash when connecting to a screenshot SUT in some situations.

  • Fixes an issue so that EPF now correctly inputs double-byte and wide characters over VNC and beta RDP connections in some situations. It also now logs the characters properly from Eggplant. Note this fix works with the TightVNC VNC server. However, due to variations among the servers, issues could still occur with other VNC servers. For information about how to use beta RDP connections, see the Features section in the EPF 23.1.0 Release Notes below.

  • Removed outdated 18.1 Release Notes from the installed files.

  • Fixes a "Gateway Error: Logon failed" when attempting a beta Remote Desktop Protocol (RDP) SUT connection in some situations. For information about RDP connections, see Eggplant Functional Connection Types: VNC vs. RDP.

SenseTalk 2.17

The 23.3.0 release of EPF contains SenseTalk version 2.17, which includes the following improvements:

  • Fixes a bug that would convert some boolean values (for example, Yes, No) contained in a list to True and False when copied.

EPF 23.2.102 (Feb 2024)

The EPF 23.2.102 release is available for Mac and Windows only. It contains the same updates and bug fixes as the 23.2.2 release described below, except that it includes a different Optical Character Recognition (OCR) version as follows:

  • Includes OCR version 12.2, which we recommend for best results with Western language recognition on Mac and Windows. For best results with Eastern language recognition, we recommend release 23.2.2 as described below.

    note

    You can verify what version of OCR your EPF instance is running with using the following SenseTalk function: ocrversion() --> 12.2

EPF 23.2.2 (Feb 2024)

The EPF 23.2.2 release is for all supported EPF platforms: Mac, Windows, and linux (Red Hat Enterprise Linux (RHEL), CentOS, and two Ubuntu versions: one for Ubuntu 22.04 and one for 16.04).

Features

EPF release 23.2.2 includes the following new feature:

  • Adds support for Citrix Workspace App version 23.9.0 (2309) for Citrix system under test (SUT) connections. For a list of Citrix Workspace versions that EPF supports, please see Citrix Connections on the EPF Prerequisites page. You can download the Citrix Workspace App from the Citrix website.

This release also contains the following:

  • Includes the following OCR versions:

    • Mac and Windows OCR version: 12.4, which we recommend for best results with Eastern language recognition. For best results with Western language recognition on Mac and Windows, we recommend EPF 23.2.102 as described above.

    • Linux OCR version: 12.3, which provides best results for recognition of all languages on Red Hat, CentOS, and Ubuntu.

  • Modifies a flag for running scripts with the runscript command at the command line (in "headless" mode) for EPF installations on Ubuntu 22.04. The flag -GSBackend now uses the libgnustep-headless option instead of -GSBackend libgnustep-back-headless, which is the appropriate flag to use for EPF headless instances running on other linux installations, such as Ubuntu 16.04, CentOS 7.x, or Red Hat 7. See Running from the Command Line for more information.

Defect Fixes

This EPF 23.2.2 release contains the following defect fixes:

  • Corrects an issue in DAI where helper suites were not used when pushed from a Git source control repository during DAI test executions.

  • Supports Microsoft Excel file names containing full-width characters, such as Japanese.

  • Allows suite path names containing full-width characters, such as Japanese, to show when you select a script or image and choose Reveal in Explorer (on Windows, Reveal in Finder on Mac) or execute a script via the shell command.

  • Allows the host ID to work properly on the License panel on Mac.

  • Fixes the error NSCharacterConversionException - unable to convert to encoding when executing scripts with full-width characters, such as Japanese.

  • Supports EPF launching after the DAI Agent restarts or awakens from sleep.

  • Fixes a condition where Eggplant Gateway (EPGW) disconnected, but the SUT Viewer window remained open. The Viewer window now closes as expected.

SenseTalk Improvements

The 23.2.2 release of EPF contains SenseTalk version 2.16, which includes the following improvement:

SenseTalk 2.16

  • Updates the ST_Excel XModule to version 1.1, including a newer version of the libxl library. The ST_ExcelVersion() function now includes the underlying libxl version number (currently 04020000).

EPF 23.2.0 for Ubuntu 22.04 (Feb 2024)

This EPF 23.2.0 release is for command line (runscript) executions on Ubuntu 22.04. The EPF GUI is not supported in this release. However, you can enable it for limited use with assistance from our Customer Support.

Installing EPF on Ubuntu 22.04

To install EPF on Ubuntu 22.04, you must use elevated privileges with the apt package manager and the following commands:

  1. Download the EPF for Ubuntu 22.04 from the EPF Downloads page to the machine where you want to install EPF.

  2. Unpack the EPF archive.

  3. Open a terminal and update packages on the Ubuntu 22.04 machine with the following command:

    sudo apt update

  4. Install the new EPF package from the extracted Eggplant folder with elevated privileges and the following command:

    sudo apt install Eggplant.deb

Uninstalling EPF from Ubuntu 22.04

To uninstall EPF from Ubuntu 22.04, you must use elevated privileges with the `apt' package manager and the following command:

sudo apt remove eggplant

Known Issues

The following list contains known issues for working with EPF on Ubuntu 22.04:

  • If you try to launch the the EPF GUI, you see the message "GUI mode on this platform is disabled by default. Please contact Customer Support for instructions to enable the GUI on this platform." If you do enable the GUI, you will see some differences in the user interface panels from the way they look in EPF on Ubuntu 16.04. Customer Support can provide you with more information.

  • If you are upgrading an EPF from Ubuntu 16.04, or you installed a previous version of EPF on Ubuntu 22.04, you need to reset the system under test (SUT) connection passwords for your existing connections due to a change in encryption schemes between the two versions. You need to enable the GUI to change these passwords.

  • Attempts to make a Selenium webdriver connection to an IPV6 address hang indefinitely when you use the SenseTalk WebConnect command in script to connect.

  • Limited support for the Beta RDP connection type is available. For more information about the Beta RDP connection, see the "Features" section for the 23.1.0 release below.

  • You may see "LibSenseTalkEngine.so" warnings in your runscript script run output.

  • The CompareScreen command can intermittently fail.

23.2.1 (Jan 2024)

Release 23.2.1 is available for Mac and Windows only. It contains the same new features and bug fixes as 23.2.0 described below, except that it includes a different Optical Character Recognition (OCR) version.

Features

Release 23.2.1 contains the following new features:

  • Includes OCR version 12.2, which we recommend for best results with Western language recognition on Mac and Windows. For best results with Eastern language recognition, we recommend release 23.2.0 as described below.
note

You can verify what version of OCR your EPF instance is running with using the following SenseTalk function: ocrversion() --> 12.2

23.2.0 (Jan 2024)

Features

Release 23.2.0 contains the following new features:

  • Includes the following OCR versions:

    • Mac and Windows OCR version: 12.4, which we recommend for best results with Eastern language recognition. For best results with Western language recognition on Mac and Windows, we recommend EPF 23.2.1 as described above.

    • Linux OCR version: 12.3, which provides best results for recognition of all languages on Red Hat, CentOS, and Ubuntu.

  • Introduces the Debug Adapter for Eggplant Test Studio. Eggplant Test Studio is Eggplant's new extension for Visual Studio Code ("VS Code"). For more information about Eggplant Test Studio, please contact your technical success manager or our customer support.

  • Adds support for macOS 14 (Sonoma).

  • Adds support for mobile device connections with iOS 17 through the Eggplant Gateway (EPGW) command line interface (CLI). For more information about how to use these connections, please contact your customer success manager or our customer support. Note that the EPF GUI does not support iOS 17 connections without first setting them up using EPGW.

  • Extends support for Sauce Labs device connections that use tunnels to our Eggplant Digital Automation Intelligence (DAI) product.

Defect Fixes

Release 23.2.0 contains the following changes:

  • Allows the Answer window to be resized to see longer prompts. For information about the Answer window in EPF, see Using Ask and Answer to Combine Testing Methods in the EPF documentation.

  • Fixes a race condition that occurred when a script execution started before the OCR engine was available, resulting in a "The OCR Engine is not available" error.

  • Fixes a crash that occurred when calling the ocrbuild() function before the OCR engine initialized.

  • Fixes the appearance of an extra port field in the Reverse Connections section of the EPF Connection Preferences.

  • Fixes a situation that could result in a Connection 61 refused error when attempting to make a connection.

  • Fixes a situation where existing connection settings could not be used to connect with the Beta RDP connection type from DAI, resulting in a the connection failed error.

SenseTalk Improvements

note

EPF 23.2.0 upgrades SenseTalk to version 2.15 but also includes improvements that were included in version 2.14. These improvements were not available in a previous release.

SenseTalk 2.15

  • Fixes a bug that would incorrectly alter a value's units when performing some operations that should have no effect on the original value.

SenseTalk 2.14

  • Adds a Hash() function to return either a hash or HMAC value for a given source data value. The source data can be either an in-memory text or data value, or a file on disk. For example:

    put hash(file:myDataFilePath, type:"md5") into hashString

    This function supports multiple hash algorithms and output formats.

  • Updates the GloballyUniqueString() function to return a universally unique identifier (UUID) string that conforms to the RFC 4122 standard. Previously, this function returned a unique string in a slightly different format. The old behavior is still available by passing a parameter value of 1 to the function. You can find out more about the RFC 4122 standard here.

  • Fixes a memory issue in some situations that resulted in the message, "NSMallocException: Default zone has run out of memory."

  • Improves the message displayed on a failed assertion involving pattern comparisons to show the readable pattern source when possible.

  • Adds the ST_ChilkatVersion() function to return the version number of the ST_Chilkat XModule and the underlying library included in EPF. While it is unlikely that you would use this function, our customer support might ask you to use it if you encounter an issue with zip, unzip, sendmail, or hash features. The module provides that functionality in EPF.

23.1.1 (Nov 2023)

Features

No new features were added in this release.

Defect Fixes

Release 23.1.1 contains the following change:

  • Reverts the version of OCR (to 12.2) from the versions shipped in 23.1.0 and 23.0.1 on Mac and Windows based on customer feedback. You can verify what version of OCR your EPF instance is running with using the following SenseTalk function: ocrversion() --> 12.2

23.1.0 (Oct 2023)

Features

Release 23.1.0 of EPF contains the following enhancements:

  • Provides support for webdriver and API connections using IPV6 addresses.

  • Provides support for the RLM Server version 15.1.BL2.

  • Enhances the way EPF handles relative paths for helper suites by using a <Suite_Root> token to indicate the folder where the main suite resides. For more information about helper suites, see The Helper Suites Pane.

  • Upgrades Eggplant Gateway (EPGW) to version 3.18.4. For more information about EPGW releases, please see the topic Release Notes with the EPGW documentation. Note: You can determine the version of EPGW your EPF is using with the put version().epgw function. This can be helpful if you are side-loading (or previously side-loaded) a version of EPGW.

  • Introduces a New RDP Connection Type (beta) for you to try. This option is still in testing and does not yet provide all of the features of the existing RDP connection. It includes: US keyboard layout support and the IgnoreCertificate option enabled. It excludes: smart card capability, multi-monitor support, and the Disconnect on User Log Off option.

    You can enable the new RDP connection by checking the Use New RDP Connection (Beta) checkbox on the Connection tab in the EPF Preferences. If you are on Mac or linux, you may need to install the freerdp client package to be able to use this connection type. Determine if you need to install the freerdp client package using the following commands:

    Mac: (See Install Homebrew Mac if you need information about installing brew.)
    To determine if the freerdp client package is installed: brew list freerdp
    To install: brew install freerdp

    Ubuntu:
    To determine if freerdp client package is installed: apt -qq list libfreerdp-client2-2
    To install: sudo apt-get install -y libfreerdp-client2-2

    Redhat/CentOS:
    To determine if freerdp client package is installed: sudo yum list | grep libfreerdp-client2-2
    To install: sudo yum --install libfreerdp-client2-2

Defect Fixes

EPF 23.1.0 contains the following fixes:

  • API test-related topics from the SenseTalk Language Browser display as they should in the API Test Editor again.

  • By default, EPF no longer searches for devices to connect to via Bonjour on launch. If you are upgrading and you previously had the Enable Bonjour discovery of VNC servers preference set, your setting will still be in effect.

  • By default, EPF no longer polls for Eggplant Automation Cloud (EAC) connections on launch in certain situations. In turn, this default setting shortens the DAI launch sequence. The setting that manages this polling does not have a control in the EPF UI. Contact Support or your technical consultant for more information.

  • The Free Trial button on the Eggplant License Registry panel now takes you to the correct web page.

  • Removes getpids.exe and Eggman from the EPF installer.

  • Enhances support for Microsoft Excel files by handling a maximum number of rows to 1,048,576 and columns to 16,384.

  • Updates the recommended RAM to use with large Excel files to 32 GB or more to improve performance.

  • Fixes an issue with setting an Excel cell value to a number, which was incorrectly setting the cell type to String rather than Number.

  • Provides support for .xlsm file-types. This file-type is similar to the Excel .xlsx file-type but includes support for macros.

SenseTalk Enhancements

EPF 23.1.0 includes an upgraded version of SenseTalk (version 2.13). Note that you can verify the version of SenseTalk in your EPF instance using the command: put SenseTalkVersion. This version contains the following improvements:

  • Adds support for returning the distance between two points with the distance function. For example: put the distance from pointA to pointB put the distance between [3,6] and [8,18] < returns 13

  • Adds support for returning the payment amount on a loan with the payment function. This function takes loan properties as inputs in the form of the total loan amount (or principal), interest rate, term, and frequency of payments. For example: put payment on a $500 loan at 6% interest for 12 months < returns $43.033215

  • Adds support for the halfEvenRounding global property. When set to TRUE, this propery causes the round() and roundToNearest() functions to use half-even rounding (sometimes called "round to even" or "banker's rounding"). When the value being rounded is exactly halfway between the two nearest values, half-even rounding will cause it to be rounded to the value that is an even number (or an even multiple of the value being round to.)

  • Adds support for returning the integer less than or equal to a given value with the floor function. For example: put the floor of 12.8 < returns 12 put floor(-3.6) < returns -4

  • Adds support for returning the integer greater than or equal to a given value with the ceiling function. For example: put the ceiling of 12.8 < returns 13 put ceiling(-3.6) < returns -3

  • Adds support for accessing chunks counting back from the end with the ordinal-to-last syntax for ordinal numbers. Also adds antepenultimate, preantepenultimate, and propreantepenultimate as special ordinals equivalent to the third-to-last, fourth-to-last, and fifth-to-last. Adds ultimate and final as special ordinal synonyms for "last." For example: put the seventh-to-last char of "ABCDEFGHIJKLMNOPQRSTUVWXYZ" < returns T put the antepenultimate char of "ABCDEFGHIJKLMNOPQRSTUVWXYZ" < returns X

  • Adds a new variation of the put command to easily display a line of dashes or other symbols. This works with any of these symbols: - + = * / < > ~ . : ? ^ & |. (EPF-22849) put - displays a line of “-” repeated 33 times put > displays a line of “>” repeated 33 times put 50 ? displays a line of “?” repeated 50 times

  • Adds leftTop, leftBottom, rightTop, and rightBottom as synonyms for topLeft, bottomLeft, topRight, and bottomRight.

  • Adds π as a predefined variable with the value pi. For example: put π < returns 3.141593

  • Enhances runtime error messages to report the line number within the script in addition to the line number within the handler when the numbers are different, for example:

    <Log Runtime Error at line 3 (line 6 of script): Invalid JSON - Can't get value of JSON expression.>

  • Fixes an issue with the contains and is in operators when testing whether a text value contains a list of values. Previously, only the first value in the list was evaluated. SenseTalk will now test whether the text contains every value in the list and only return True if all of them are present in the text.

  • Fixes an issue where the begins with and ends with operators were ignoring all but the first value of a list when testing whether a text value begins or ends with a list. These operators will now use all of the values in the list, in this case by concatenating them together into a single string, and then testing whether the text value begins (or ends) with that string.

  • Adds syntax to allow specifying a percent for a period of time, such as 5% annually.

  • Fixes an issue with the folder() function where it would return empty when called directly as a function on a fileDescription object.

  • Fixes an issue that occurred when adding to (or subtracting, multiplying, or dividing with) a non-existent property in a property list where the name of that property was the name of a function.

  • Corrects a problem with the round() function, which was rounding some numbers differently on Windows than it was on other platforms. Note that due to the inability to exactly represent some decimal fractions using the floating-point values used internally by the system, there are some fractional numbers that will still not appear to round "correctly." For example, when rounding the number 133.355 to 2 decimal places, it will be rounded to 133.35 rather than 133.36 as might be expected. This is because 133.355 can't be represented precisely in floating point binary, so the actual value that is around 133.354999999999 rounds down.

23.0.1 (10 Aug 2023)

  • Available for Windows and Macintosh only. Linux available at a later date.

Features

  • Enhances character recognition of East Asian languages by updating the OCR library.

Defect Fixes

  • Resolves occurrences of "OCR Error: Internal Error" when searching for screenshots.

23.0.0 (18 Jul 2023)

Features

  • Provides OCR support for Vietnamese and Thai languages

    • Additional license required
  • Enables Mobile Connection Types from DAI

  • Enables Git integration from DAI

  • Improves performance when authoring and editing large suites

  • Provides support for TLS configuration for SenseTalk SendMail commands

  • Enhances the SenseTalk version() function to include the Eggplant Gateway (EPGW) version. The version().epgw and version().archive extensions return the version of EPGW currently in use in your EPF instance. Knowing which version of EPGW is in use can be especially helpful if you are side-loading (or previously side-loaded) a version of EPGW that was not installed with EPF. The following example shows the format of the EPGW version that the functions return: version().epgw --> 3.13.7

  • Enhances the OCR version information you can obtain from EPF with a function that returns the OCR build version (ocrbuild()). This is in addition to the existing ocrversion() function. Knowing which build of OCR your EPF includes can be helpful because new functionality may be introduced in different OCR builds and the build versions can vary with platform. The following examples show the difference between the output of the two OCR functions: ocrversion() --> 12.4 ocrbuild() --> 12.2.27.10

Defect Fixes

  • Addresses issue attempting to make native Citrix Connections in some situations

  • Resolves an issue on the Image Capture panel to populate the dropdown with the correct suite when saving an image

  • Resolves an issue when running ExecuteJavaScript from a user defined object that caused an NSInvalidArgumentException

  • Improves auto-complete performance of a collection that contains a large number of images

  • Boosts performance when using the “set the string to “/”” in a large suite

  • Speeds up the search function of Eggplant Functional when there is a large set of images in the suite

  • Resolves an issue in some configurations where the Sendmail command errored out with “Failed to read beginning of SSL/TLS record”

  • Removes the following SenseTalk commands and functions from the auto-complete suggestions: CaptureTextImage, OpenSuites, OpenSuite, and CloseSuite

  • Corrects the URL on the EPF Download button to point to the proper URL

  • Removes references to the Vine Server in the VNC Encodings on the Preferences Connection panel

  • Refines SenseTalk ToolTip and Language Browser wording for the Connect Command of Android and iOS Mobile Device Connection types

SenseTalk Enhancements

  • The is a number operator (or is an integer etc.) now recognizes valid numbers with numeric strings that begin with +.

  • In some cases, the dayOfCommonEra function was affected by time zone, but it has been fixed. Now, dayOfCommonEra always calculates a day number based on the date alone, regardless of the time of day.

  • All characters should now be handled properly by the regexEscapedSet() function and therefore within character sets in patterns (specifically: "[", carriage return, line feed, tab, formfeed, and backspace). Previously, some characters were being mishandled.

  • Adds backspace as a predefined variable, with value numToChar(8).

  • Property declarations now accept that last value supplied for a key. This corrects a problem with property declarations with duplicate keys being omitted completely.

Mobile Device Connection Enhancements

  • Improves Android image quality and removes Beta status for Android Mobile Connections.

  • Improves Unicode support on Android.

  • Fixes reporting of the Android version in SUTInfo.

  • Supports use of large Android device farms.

  • Allows custom installation paths for Eggplant Functional on Macintosh.

  • Provides iOS Restart Springboard option.

  • Adds ADB Pull Large files.

  • Adds support for Sauce Labs Safari browser connections. Note that webdriver commands are not currently supported.

  • Adds support for Sauce Labs iOS simulators.

  • Includes Sauce Labs Browser improvements for: Resolution, URL, and Timeout.

  • Allows standard locations for Provisioning Profiles and Certificates as follows:

    • on MacOS (default profile location)

    • on Linux and Windows: local AppData/ eggplant/ProvisioningProfiles

    • Introduces standard locations for Developer Disks:

      • on MacOS (default XCode location)

      • on Linux and Windows: local AppData/ Eggplant/devimg

  • Allows Provisioning Profiles and Certificates to be referenced by name in addition to a fixed path.

  • Resolves the following keyCodes:

    • AltKey:57

    • CapsLockKey:115

    • ControlKey:113

    • EditButton:0

    • Keypad0:144

    • Keypad5:149

    • Keypad9:153

    • KeypadDecimal:158

    • KeypadDivide:154

    • KeypadTimes:155

    • Numlock:143

    • PauseBreak:127

    • ScrollLock:116

    • ShiftKey:59

    • Backspace:67

  • Adds ApplicationKey which opens the app switcher on Android devices.

  • Enables the following libimobiledevice features:

    • list connected devices

    • install app

    • uninstall app

    • get device info

    • list applications