Eggplant Functional 19 Release Notes
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.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 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.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.
- The AppList() function has two new options: Full and Simple.
Note: The AppList() function used without a parameter also now returns only the appName for iOS devices. This is a change from its previous behavior, which returned both the deviceName and appName.
- The AppList(Full) option returns more information about the apps installed on a device: appID, appName, canUninstall, and deviceName.
- The AppList(Simple) option returns only the appName.
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.
- The 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.
- The command put "14:20" plus one hour now correctly returns "15:20".
- 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 read command 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 lineDelimiter global 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 STFileValueUseAtomicWrite default to Yes through 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 Unarchive function, 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 CompareScreen command 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.
- Adds 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.
- Adds the CompareScreenAction global 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.