The notes below provide descriptions of the new features and changes introduced with each release of Eggplant Functional. You are strongly encouraged to read about the relevant changes whenever you upgrade from an earlier version.
Potential compatibility issues are highlighted in RED.
Mac: macOS 10.15, macOS 10.14, macOS 10.13, macOS 10.12. OS X 10.11
Windows: 64-bit distributions only. Windows 10, Windows 8, Windows 7, Windows Server 2012, Windows Server 2008
Linux: 64-bit distributions only. Debian and Red Hat based on glib 2.11 and later.
Note: Eggplant Functional will no longer include Android Debug Bridge (ADB) beginning in 2020. Users who test Android devices will need to use Android Gateway going forward.
Note: Eggplant Functional no longer supports Ubuntu 12 or Ubuntu 14 from the release of Eggplant Functional 19.1.
Note: Eggplant Functional will no longer support CentOS 6 beginning in 2020.
Note: A bug exists in the MySQL Connector for ODBC 8.0 on Windows 10 systems that causes Eggplant Functional to crash when connecting to an ODBC database. The crash typically occurs when connecting for the second time. See the MySQL forums here for any updates on the status of this issue from MySQL. The only known workaround is to use the older version 5.3 connector instead.
Release 19.2.1 (14 November 2019)
- Adds a new runscript command line option
-connectionnamethat allows users to set the initial connection's name along with its other parameters (
- Adds support for WebDriver connections to SauceLabs SUTs by allowing the
usernameconnection property to pass through as a Capability in the Edit Connection panel (see Connecting to a Device through Eggplant Automation Cloud), and a
desiredCapabilityin scripts (see the
- Now notarized for macOS 10.15 (Catalina).
- Now respects the hot spot for images with the Adaptive to Image search type.
- Fixes a bug that prevented using the
SetDeviceOrientationcommand with some newer Android devices.
Some Eggplant Functional users running macOS 15 (Catalina) will need to specify the fully qualified path to use the
You can run it preceded by a period and a slash (
./runscript) from within
Note that the Install runscript in /usr/local/bin button in Run Preferences does not fix this issue on Catalina.
Release 19.2 (2 October 2019)
Adds a new image search type called Adaptive to Image.
- This search type is ideal for use with cross-platform scripts that run against different devices or environments at varying sizes and resolutions.
- Note that this search type is more fuzzy than existing algorithms, and should better-reflect human vision.
- This search type is not ideal for low-contrast images.
- This search type does not automatically adjust for scale changes. In general, we recommend that instead of changing the Scale setting per image, you should use the Scale Factors for Image Searches in the suite's settings.
Adds a new field to the suite Settings called Scale Factors for Image Searches that allows you to specify multiple scale options for all of the images in your suite. This feature supports use of the same image on multiple devices at multiple scales with less image re-capture. We recommend using the new Adaptive to Image search type in these scenarios.
This field provides the initial setting for the
ScaleFactorsglobal property whenever a script in the suite is run.
ScaleFactorssetting can supply multiple scale factors to be used on every image search.
For best results, you should always prefer to capture a larger image and scale it down instead of scaling a small image up.
The scale factors you choose depend on the scale at which the original image was captured (Capture Scale), and the scale of the current device (Connection Scale). The formula to determine ideal scale is Search Scale Factor = Connection Scale / Capture Scale.
We recommend using the following set of scales, which should work across the majority of mobile devices:
1, 2, 0.5, 0.6667, 1.5, 0.75, 3, 4, 1.15, 0.5752, 2.608, 1.304, 3.477, 1.739, 0.8693, 5.333, 0.3834, 0.3333, 0.25
-ScaleFactorscommand line option allows you to override the suite Scale Factors. This helps in scenarios where the images in the authoring environment are not the same as those in the execution environment and provides a way to easily change those values at runtime.
Image search types have been renamed. Scripts do not need to be updated to use the new names, as they are backward-compatible. The new names are:
"Tolerant" > "Tolerant of Background"
"Smooth" > "Smoothed for Text"
"Precise" > "Precise to Pixel"
"Pulsing" > "Pulsing to Element"
"Smooth and Pulsing" is unchanged
Some search types are now only available if you enable advanced search types.
Always-available search types:
"Adaptive to Image"
"Tolerant of Background"
"Smoothed for Text"
Advanced search types:
"Precise to Pixel"
"Pulsing to Element"
"Smooth and Pulsing"
ImageInfo()functions now return the new long
- Fixes an issue that caused the spinner on the Image Update Panel to never stop spinning on Windows and Linux.
- Fixes an issue with time zones in time calculations.
- Fixes a crash that happened when reserving a SUT via Eggplant Automation Cloud.
- Fixes a problem that prevented the scale property set on an image from persisting.
- Adds support for removing the tolerance value from an image.
- Fixes an issue where the last item in a list was sometimes truncated.
- Fixes a crash that sometimes occurred while interacting with the Cloud Preferences panel.
- Some of the graphics in version 19.2 describe Eggplant Functional as Eggplant Studio. This is a name change only; the tool is the same as before.
Release 19.1.2 (7 August 2019)
- Fixes a problem with times being shown in GMT on Windows, depending on the system settings, particularly in connection with daylight saving time (DST).
- Changes image previews to show local time instead of GMT.
- Fixes an exception when hovering over an image to see its preview.
- Fixes an exception when sorting scripts by Last Run Date.
Release 19.1.1 (29 July 2019)
- Adds support for FIPS mode on Linux.
- Improves the stability of Eggplant Functional running on CentOS.
- Adds documentation for the
- Fixes several bugs related to how time zones are reported.
Release 19.1 (25 June 2019)
In Autoscan sessions, Eggplant Functional automatically determines element name, type, and image filename based on information from the object model when using mobile VNC connections to Eggplant's mobile gateways. Requires Android Gateway 5.5 or later, or iOS Gateway 5.5 or later.
AppList()function has two new options:
AppList(Full)option returns more information about the apps installed on a device:
AppList(Simple)option returns only the
AppList()function used without a parameter also now returns only the
appNamefor iOS devices. This is a change from its previous behavior, which returned both the
AppList()function options are available when connected to mobile VNC SUTS through Eggplant's mobile gateways. Requires Android Gateway 5.5 or later, or iOS Gateway 5.5 or later.
New Control menu item to Refresh App List returns an updated list of apps from the active connection for mobile VNC SUTs connected through Eggplant's mobile gateways. Requires Android Gateway 5.5 or later, or iOS Gateway 5.5 or later.
Improved suite performance in suites that contain a large number of images.
Added support for Unicode date/time formats, and added a new, more human-readable SenseTalk date/time format. The underlying implementation is now built on the Unicode (ICU) standard but continues to support the older percent-style tokens. The built-in time and date formats now use the bracket style tokens:
Bracket style: [month name] [day], [year] [hr]:[mi]:[se]
Unicode style: MMMM d, yyyy HH:mm:ss
Percent style: %B %e, %Y %H:%M:%S
In conjunction with these changes to the date formatting code, there are a few other resulting changes:
The "%w" token in a format (the day of week) displays a number from 1-7 instead of 0-6 as it did previously.
DayOfWeek()function also now returns 1-7 instead of 0-6. The day that the number 1 corresponds to might depend on the locale.
When parsing a date string using the "%I" (hour using a 12-hour clock) format string, the hour "12" is interpreted as 12 AM, not 12 PM.
put "14:20" plus one hournow correctly returns
Help us improve Eggplant Functional! Leave the new Share installation details option enabled in General Preferences to provide operating system and application version information to Eggplant to help direct our future development efforts.
- Fixes a crash when trying to generate a script in a Turbo Capture session when a box is slightly off screen.
- Improves speed when opening a very large suite.
- Fixes an issue where Caps Lock did not work in the Viewer window Live Mode on Windows.
- Fixes a crash during script execution that resulted in a Signal 11 error.
- Fixes a bug with reading from a file (or socket, or process) for a specified number of characters that instead read the specified number of bytes. The
readcommand reads the given number of characters, if possible, when the amount to read is explicitly requested as characters. When no data type is given, the command continues to read bytes as it has in the past.
- Fixes reading lines from a file (or socket, or process) to use the current setting of
the lineDelimiterglobal property rather than breaking lines only using the newline character.
- When writing to a file by setting the value of a file container (such as
put x into file y) on Windows, the write no longer tries to perform an atomic write operation. This setting can be changed by setting the
Yesthrough a defaults write command.
- Made a minor change to comparison of document trees for equality to ignore differences in the _xmlinfo.URI value if one of the URIs is an empty value.
- Fixed a bug that prevented the ST_ODBC xmodule from loading on Mac, resulting in no ODBC database access.
- Fixed a bug with the
Unarchivefunction, which would fail on string values that ended with a backslash (\).
- Fixed a bug that could cause a crash when calling a function with both a dot and parentheses (with or without parameters) such as
set trimmedVar to var.trim().
Release 19.0.1 (4 April 2019)
- Fixes an issue where the connection would close prematurely in some cases when using API tests on Windows.
- Fixes an issue on macOS Mojave where dragging assets to the script editor didn't create the reference as expected.
- Fixes an issue where the Usability Mode JSON file wasn’t created when setting the global property in a script, in cases where no issues were found.
- Fixes the path to the ODBC bundle on Mac.
- Fixes a crash in the compare screen feature when the baseline image is vastly different from the current SUT screen.
- Fixes an issue where the image moved while cropping.
- Fixes a memory leak with the
CompareScreencommand and the ColorAtLocation function.
Release 19.0 (20 February 2019)
- Screen Compare: Adds ability to compare the current system under test (SUT) screen against a captured baseline image for UI testing.
- See complete information about this feature: Using Compare Screen in Eggplant Functional for UI Testing.
CompareScreen, a SenseTalk command and function, that captures a baseline image and compares subsequent calls with that baseline image to detect differences.
- Comparisons detect new, missing, moved, and changed images and text.
- Adds Compare Screen panel that lets you mask out areas on the baseline image to ignore during comparison and mark other areas as dynamic content during comparison.
- Lets you use the Compare Screen panel during a script run or afterward from the Results pane.
the CompareScreenActionglobal property so that you can determine whether to open the Compare Screen panel dynamically during a script run.
- Fixes an issue where set did not always behave the same as put, when it always should.
- Fixes an issue where home directory (~) paths were not recognized everywhere.
- Fixes some issues with buttons and breakpoints not drawing correctly on macOS Mojave.
- Fixes an issue where logging output became slower over time.