Skip to main content
Version: 23.3

Eggplant Functional 18 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.

Compatibility

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.

Release 18.2.3 (16 January 2019)

Bug Fixes

  • Fixes an issue where the remoteClipboard() function returned incorrect characters.
  • Fixes an issue where the included Android Debug Bridge (ADB) executable files did not have execution permissions.
  • Improves the display of non-ASCII characters appearing within values of a property list. Those characters now display directly, rather than using “\u…” escape sequences. This also changes the way some values are encoded by the standardFormat and archive functions.
  • Improves the performance of the XMLRPCFormat and XMLRPCValue functions (and the underlying XMLContentEncode and XMLContentDecode functions) when working with large strings that contain many encoded characters.

Release 18.2.2 (26 December 2018)

Note: Images captured using the Precise search type over an RDP connection in Eggplant Functional 18.2 might need to be re-captured after upgrading Eggplant Functional due to RDP color value shifts that have been reverted to their original behavior.

Features

  • Adds support for WebDriver automation of iOS 12 devices.
  • Adds support for mobile WebDriver connections using Eggplant Automation Cloud.

Bug Fixes

  • Fixes a crash experienced by some users making RDP connections.
  • Fixes an issue that prevented access to helper suites from Table Script Actions.
  • Fixes an issue where the colors reported over an RDP connection were changed when using the Precise search type with 0 tolerance.
  • Updates the wording of some source control messages for clarity.
  • Limits the type of folders that can be put into the Script Checker to Suite folders.

Release 18.2.1 (13 November 2018)

Bug Fixes

  • Fixes an issue where RDP connections on some Windows networks failed to connect.

Release 18.2 (7 November 2018)

Note: Support for Android Debug Bridge (ADB) 1.0.31 and 1.0.32 will be removed in the next major release.

Note: ADB 1.0.32 is not compatible with Eggplant Functional on CentOS 6.5.

Note: Date calculations commands have been updated, which can change the previous behavior for some customers.

Note: The behavior has changed when using the named Image parameter in various find image methods.

Note: SSH with Github on Linux is not currently supported.

Note: Eggplant Functional no longer supports Mac OS X 10.9 and OS X 10.10.

Features

  • Adds Script Checker, which performs static analysis of scripts and suites.
  • Adds Usability Mode. Run tests in this mode to verify that the application under test follows conventions for usability. Tests include:
    • Checking for moving targets in the app.
    • Visual feedback for button presses.
    • Checking for images and text that load too slowly
    • Checking for forbidden images or text left over from branding changes.
  • Adds the ability to create custom optical character recognition (OCR) dictionaries for reading industry-specific language.
  • Improves source control integration for Git and Subversion.
  • Adds the touchAction command for mobile WebDriver testing.
  • Adds support for ADB 1.0.39 and 1.0.40.
  • Script run output now displays at the bottom of the script editor window.
  • The Run button can now be added to the Viewer window toolbar.
  • A list of available SUTs now appears in the Connection menu.
  • Updates the RDP library.
  • Adds optional Bonjour installation in the Windows installer.
  • Feature files and Tables now respect breakpoints and pauseScript commands in underlying handlers.

Bug Fixes

  • Fixes an issue where some mobile WebDriver connections were made to incorrect devices or with incorrect capabilities.
  • Fixes an issue where the clipboard connection was lost when using RDP.
  • Fixes a crash when disconnecting from a SUT when using RDP.
  • Fixes an issue where dimension changes to a SUT were not being displayed or used in RDP.
  • Fixes a crash with repeated simultaneous connections in RDP.
  • Fixes an issue where zoomed images appeared fuzzy in Capture Mode
  • Fixes an issue where the source control commit button become disabled when a commit failed.
  • Fixes a crash when searching in a suite while a script was running.
  • Fixes an issue where font cache rebuilding causing a slow or failed Eggplant Functional launch.
  • Fixes an occasional crash that happened on launch.
  • Fixes an issue where dialog boxes on the SUT window disappear when the SUT screen updates.
  • Fixes a crash when running Eggplant Functional in Eggdrive GUI mode.
  • Removes excessive debug logging.
  • Fixes an issue with an incorrect folder selection in the Save Image panel when selecting Make Collection.
  • Fixes an issue where explicit search properties were changing the behavior of image searches.
  • Fixes an issue where the logfile property of the scriptResults() function didn't include script subfolders in its path.
  • Fixes an intermittent crash during script execution.
  • Fixes an issue where images captured via the OCR search diagnostic were set to the Tolerant search type.
  • Fixes an issue where the wrong thumbnail showed when dragging an image into a script.
  • Fixes an issue where Eggplant Functional cached references to scripts after a suite was closed or deleted.
  • Fixes calculations when adding years to a date.
  • Fixes incorrect auto-completions when pasting into the script editor.
  • Fixes preview images displaying upside down.
  • Fixes Achievement 7/7 from the Capture an Image tutorial.
  • Fixes an issue where the bottom of a script could be cut off.
  • Fixes an issue where Eggplant Functional would close unexpectedly when closing the run window with a minimized script window.
  • Fixes an issue where inserting an image command didn't include the image.
  • Fixes an issue with applying default text styles in the OCR tuner.
  • Fixes an issue that prevented Eggplant Functional from launching after selecting an ADB version.
  • Updates keywords in the SenseTalk language browser.

Release 18.1.2 (5 August 2018)

Note: Mac OS X 10.9 and OS X 10.10 will no longer be supported in the next major release.

Features

  • Adds support for Android Mobile WebDriver.
  • Adds support for Debian 9.

Improvements

  • Improves performance when searching for images.
  • Improves performance on Windows when using sessions.
  • The SenseTalk browser now contains links to documentation for pattern language.
  • Improves drag-and-drop and copy and paste functionality with tagged images.
  • The image path for a duplicate image in sessions now shows when hovering over the image.

Bug Fixes

  • Fixes an issue where the asList() function threw an exception.
  • Fixes an issue where the Replace Existing option in sessions did not always replace the existing image.
  • Fixes an issue where filtering a large number of images could cause Eggplant Functional to hang.
  • Fixes an issue where Eggplant Functional would exit without an error when no ".script" extension was specified in command line execution.
  • Fixes an issue where Auto OCR update would give an "Arguments are invalid" exception.
  • Fixes an issue where the End Session button would become grayed out if the orientation or resolution of the SUT changed.
  • Fixes an issue where Skip Step did not work for TypeText events in sessions.
  • Fixes an issue where Auto Snippet generated files could have invalid handler names.
  • Fixes a crash experienced by some users after adding a suite variable on the Settings page.
  • Fixes an issue where pressing the scroll wheel during a Turbo Capture session would capture an image.
  • Fixes an issue where Eggplant Functional could crash when using the Variable Watcher with patterns.
  • Fixes an issue in API Tests when Form Data is selected without any parameters specified.
  • Fixes an issue with autocompletion in Table Scripts where image names beginning with a number did not autocomplete.
  • Fixes an issue where images captured via an OCR search were set to Tolerant search type.

Release 18.1.1 (12 July 2018)

Note: Mac OS X 10.9 and OS X 10.10 will no longer be supported in the next major release.

Bug Fixes

  • Fixes an issue where the swipe commands, when used with no parameters, did not work.
  • Fixes an issue where suite variables could not be added through the Settings panel.
  • Fixes an issue where script names beginning with numbers would be prepended with an _ (underscore) when using params(0) in a script.
  • Fixes an exception that occurred when pressing the Roam button on the Eggplant License Registry panel.
  • Fixes an issue where the original location saved on an image created during a Turbo Capture or Rapid Image Capture session was incorrect for some images, causing problems with image diagnostics.

Release 18.1 (2 July 2018)

Note: Mac OS X 10.9 and OS X 10.10 will no longer be supported in the next major release.

Known Issue

  • Users with existing scripts that use swipe commands with no parameters should not upgrade to Eggplant Functional 18.1.0 because of a problem that leads to script failure.

Highlights

  • Autoscan Sessions and Autosnippets: Scan a screen or section of a screen to automatically identify UI elements, capture images of the elements, and generate code snippets for use with Eggplant AI or in other Eggplant Functional scripts. Optionally customize the templates used to generate Autosnippets through Eggplant Functional Preferences.
  • Image Tagging: Tag captured images to provide enhanced organization and filtering of image assets.
  • Patterns: An English-like approach for defining regular expressions within scripts. A companion Pattern Language section has been added to the SenseTalk Browser.

Features

  • Extends WebDriver object-based testing support to iOS devices for customers using iOS Gateway 5.1.
  • Adds tracking for when an image was last found by a script and allows the highlighting of images in the images section of the suite based on how recently they were last found.
  • Extends duplicated image detection to Turbo Capture and Rapid Image Capture sessions.
  • Adds image autocomplete to the Arguments column in Tables.
  • Extends OCR support to Arabic and Hebrew via special Eggplant Functional licensing. Contact your Account Manager for more information.
  • Adds proxy support for API Tests and URLs in SenseTalk.
  • Adds the ability to call a script in a folder as a function, i.e., put "Utilities/CalculateSum"(4,5)
  • Adds the ability to set an entire Autoscan or Turbo Capture session to use OCR by holding down SHIFT while clicking the Use OCR checkbox.
  • Adds the version number of the next available Eggplant Functional update to the update notification dialog.

Bug Fixes / Tweaks

  • Fixes issues where JUnit XML results (LogFile.xml) did not follow the JUnit5 specification and were not properly accounting failures and errors. Compatibility: To restore the pre-18.1 behavior for JUnit XML results, use the Legacy Format setting in Eggplant Functional General Preferences.
  • Fixes an issue where RLM team licenses were being erroneously checked out multiple times by the same Eggplant Functional client.
  • Fixes an issue where command line executions on Mac would sometimes hang.
  • Fixes an issue on Mac with connecting to HTTPS Eggplant Automation Cloud.
  • Fixes an issue where movies were not recording all frames.
  • Fixes various issues where Suite and User snippets in the SenseTalk Browser were not being saved or displayed correctly.
  • Upgrades the LibXL library to version 3.8.2, addressing a number of issues relating to reading and writing to Microsoft Excel files.
  • Fixes an issue where RunHistory files were not updated properly with results from aborted script runs.
  • Changes the default behavior of the ADB process to not automatically start on launch, and to only start when required by Android testing.
  • Fixes an issue on Windows where scripts named with spaces at the beginning or end could not properly create results.
  • Fixes an issue where supplying correct or incorrect server and account details in the Preferences for Eggplant Automation Cloud did not provide any feedback.
  • Fixes an issue with ExecuteRemoteCommand sometimes failing.
  • Adds various components and common templates for the SenseTalk language that were missing from autocomplete and the SenseTalk Browser. Addresses many inconsistencies among existing components and templates.
  • Fixes an issue in Turbo Capture sessions where automatic delay detection MaxWait times were not included in the generated script.
  • Fixes an issue where a connection opened through the Connection Doctor could not be disconnected.
  • Fixes an issue with WebDriver’s alertText not working with Firefox.
  • Fixes a specific usage of executeSQL() that could not insert database records on Mac.
  • Fixes an issue where deleting an image folder would delete an image with the same name as the folder.
  • Fixes an issue where the displayed count of unnamed images inside Sessions was not correct.
  • Fixes a number of crashes relating to duplicating Schedules, inserting certain text into the Script Editor, supplying a number as the file name prefix for TraceScreen, and accessing Sessions.
  • Fixes an issue where Run Selection did not have the expected context.

Release 18.0.5 (7 May 2018)

Features

  • Eggplant Automation Cloud connections can now be made from the command line as direct arguments: CloudHostname, CloudPort, CloudUsername, CloudPassword.
  • WebDriver screenshots taken with the WebScreenshot command can now be opened directly from the Results pane, like SUT screenshots.

Bug Fixes/Tweaks

  • Fixes a problem that prevented Eggplant Functional from opening on Mac OS X 10.10 (Yosemite).
  • Fixes a problem with the Answer command not working with the seconds unit.
  • Fixes an issue where the last line of a script was being cut off.
  • Fixes a problem where renaming a file could cause a crash.
  • Fixes an issue where putting a space at the end of a script name prevents script results from saving on Windows.
  • Fixes an issue where WebDriver connection timeouts don’t report to the Run Window.
  • Fixes a problem connecting to Eggplant Automation Cloud devices from command line runs.

Release 18.0.4J (4 April 2018)

Features

  • Updates to ABBYY FREngine v12 with improved Japanese support.

Release 18.0.4 (28 March 2018)

Bug Fixes / Tweaks

  • Fixes a problem with images appearing dark gray or black when the Color Depth is set to Thousands for VNC connections.
  • Fixes an issue where character collection image locations were being reported incorrectly.
  • Fixes a problem that prevented some Ubuntu users from installing Eggplant Functional.
  • Fixes an issue with the firstOccurrence keyword showing an error.
  • Fixes an issue returning empty strings with ExecuteSQL command.
  • Fixes several issues with WebDriver testing using Firefox, including those with the DoubleClick and MiddleClick commands.
  • Fixes an issue in WebDriver testing with Internet Explorer that caused an error when requesting cookies.
  • Fixes an issue where only the last cookie would be reported in the headers with API testing or directly in SenseTalk on Windows and Linux.

Known Issues

  • Parallel testing using WebDriver and VNC is not possible on Safari. This is due to Safari security restrictions that prevent external interaction with an automated browser.
  • Firefox versions prior to 59.0.1 do not support DoubleClick for WebDriver connections.

Release 18.0.3 (25 February 2018)

Features

  • Adds functionality for middle mouse button clicks in Live Mode.
  • Adds the MiddleClick "image1" command for use in scripts and Turbo Capture sessions.

Bug Fixes / Tweaks

  • Fixes a problem with JSON output in API testing displaying extraneous backslashes.
  • Fixes a problem where status icons were missing from the Connection Doctor panel.
  • Fixes several broken documentation links in the SenseTalk Browser.
  • Fixes a problem where the Save Image panel did not default to the previously selected suite.
  • Fixes a crash when changing the Discrepancy value in the Image Update properties.
  • Updates the RealVNC license.
  • Fixes a crash experienced by some users when connecting via RDP.
  • Fixes a crash experienced by some users when using the Variable Watcher in Always mode.
  • Improves performance of WebDriver functionality.
  • Fixes a problem with FoundWebLocation() and FoundWebElement() not being set after some WebDriver calls.
  • Fixes an problem processing NULL values for database connections.
  • Fixes a problem accessing Unicode data on Linux using the ODBC driver.

Release 18.0.2 (25 January 2018)

Scripting Improvements

  • Adds WebDriver support for Firefox.
  • Adds the SwitchToFrame command to promote a frame to be the active WebDriver.
  • Adds a stand-alone ClearKeys command to clear the text in a specific WebElement, or in the active WebElement if none is specified.
  • When displaying a WebElement or WebDriver, common attributes are now shown.
  • Adds the ability to pass parameters using the ExecuteJavaScript command.
  • Adds the ability to retrieve data returned by the ExecuteJavaScript command.
  • Elements found by the FindElement() function are now retrievable using FoundWebElement() and FoundWebLocation().
  • Passing multiple WebElement identifiers in a single property list now raises an exception.
  • Calling WebScreenShot when a script is not running now captures to the Default Document Directory.

Connection Improvements

  • Reduces the delay when aborting a WebDriver connection.
  • Adds default support for common RDP security settings.
  • Restores the status icons to the Connection Doctor panel.

Bug Fixes / Tweaks

  • Fixes a problem invoking the IME for multibyte characters on Windows.
  • Fixes a problem handling Unicode values (like ß) in databases.
  • Fixes a problem where image Auto Update would get stuck in a loop if the image was only found outside the SearchRectangle.
  • Improves performance executing WebDriver commands on Windows.
  • Fixes a problem storing diagnostic logs for optical character recognition (OCR) on Windows.
  • Fixes a problem in Turbo Capture where the hot spot moved when altering the image region.
  • Prevents dragging resources into the wrong side panel.
  • Fixes an issue with extra MoveTo commands being added to Turbo Capture sessions.
  • Improves tab graphics on Windows.
  • Fixes a display issue in the Run window with white space created by the SendKeys command.

Release 18.0.1.1 (4 January 2018)

Bug Fixes

  • Corrects a problem with the Save Image panel.

Release 18.0.1 (3 January 2018)

Bug Fixes / Tweaks

  • Fixes a problem running the Team License Server batch file.
  • Fixes a problem setting up the Team License Server as a service.
  • Launches the local license server when invoked from the command line.
  • Fixes a problem with the Swipe command.
  • All open suites now display properly in the Save Image panel.
  • Fixes a problem opening the Release Notes from the Help menu.

Release 18.0 (21 December 2017)

Highlights

  • Selenium WebDriver Support: Selenium WebDriver calls can be incorporated into Eggplant Functional scripts.
  • Roaming Licenses: Administrators can check out licenses to testers working remotely or traveling between offices.
  • Expanded Language Browser: The language browser in the script editor includes additional basic elements of SenseTalk, and new elements such as Selenium WebDriver commands and functions.
  • New Sample Suites: Adds new sample suites that demonstrate SenseTalk scripts, Gherkin features, Scriptless (Table) tests, and API tests, respectively. You can open these suites from the Welcome screen. (Help > Welcome to Eggplant)
  • New Installer (Windows): The new installer offers faster installation in a smaller download.
  • Updates icons and design.
note

To comply with Gatekeeper restrictions, the runscript command has moved. It is now found inside the application bundle at Eggplant.app/Contents/MacOS/runscript

Selenium WebDriver Support

Eggplant Functional can now interact with a Selenium Server using the WebDriver API. This requires that you have installed and started a WebDriver Server on your system under test (SUT).

Connections: You must first establish a WebDriver connection to your SUT. WebDriver connections can be made in addition to your active VNC or RDP connection. You can establish these connections in three ways:

  • Connection List: From the Connection List in the GUI, set the Connection Type to WebDriver. You must then select a browser, and can optionally specify desired capabilities.
  • WebConnect Command: Use the WebConnect command. You can specify the Host, Port, Browser, and URL.
    WebConnect (Host: "New_Server",Port: 4444, Browser:"Chrome",URL:"https://www.google.com")

  • WebServer() Function: Use the WebDriver() function to return a WebDriverConnection object.
    set driver to WebDriver(host:"Win-10",browser:"chrome", url:"https://www.google.com")

To close a WebDriver connection, use the WebDisconnect command.

Command Interaction: You can use the following Eggplant Functional commands with WebElement Identifiers in addition to image names and OCR text.

  • Click (identifierType: "value")
  • Double-Click (identifierType: "value")
  • Right-Click (identifierType: "value")
  • MoveTo (identifierType: "value")
  • Drag (identifierType: "value")
  • Drop (identifierType: "value")
  • WaitFor (duration,identifierType: "value")

Selenium commands: You can also use the following commands to interact with your target browser through WebDriver.

  • SendKeys "text" or SendKeys webElement, "text"
  • WebElementFound(identifierType: "value")
  • OpenWebDrivers()
  • Submit
  • Refresh
  • GoBack
  • GoForward
  • WebScreenshot

WebElement Identifiers: The web elements that are used in WebDriver can be identified in the following ways:

  • webID: Locates an element whose ID attribute is equal to the indicated value.
  • webName: Locates an element whose name attribute is equal to the indicated value.
  • webClassName: Locates an element whose class attribute is equal to the indicated value.
  • webTagName: Locates an element whose HTML tag is equal to the indicated value.
  • webLinkText: Locates a link whose text is equal to the indicated value.
  • webPartialLinkText: Locates a link whose text contains the indicated value.
  • webCssSelector: Locates an element using the indicated CSS selector expression.
  • webXPath: Locates an element using the given xPath expression.

WebDriverConnection and WebElement objects: In addition to the workflow commands listed above, you can interact with the browser through a WebDriverConnection object. This includes invoking actions and getting properties of the browser page, as well as identifying WebElement objects on the page to interact with. You can get the active WebDriver object by using the WebDriver() function with no parameters. You can find WebElements on the active WebDriver page using the findElement() and findElements() functions.

WebDriverConnection Properties

  • Name, Host, Port, Browser: The connection information.
  • URL: The URL displayed in the browser. This property is read/write.
  • Title: The title of current page.
  • pageSource: The full HTML source of the current page.
  • Capabilities: A property list indicating the capabilities of the WebDriver on this browser connection.
  • Cookies: A list of property lists for each of the cookies in the browser for the current site.
  • activeElement: Returns a WebElement object for the current active element on the page.
  • alertText: The text of an alert, if one is shown.

WebDriverConnection Functions

  • goBack(): Go back in the browser history (the back button action of the browser).
  • goForward(): Go forward in the browser history (the forward button action of the browser)
  • refresh(): Refresh the page (the refresh or reload button action of the browser)
  • quit(): Explicitly quit the browser and terminate the WebDriver session (normally done automatically by SenseTalk when the WebDriver object is no longer in use).
  • element(): Specify an element within the current page DOM, without immediately locating it.
  • findElement(): Locate a specific element within the current page DOM.
  • findElements(): Locate all matching elements within the current page DOM.

WebElement Properties (Read-Only)

  • Name: The name attribute of the element. This is generally only relevant to form elements.
  • Id: The ID of the element, or "" if none is specified.
  • Class: The full CSS classes given to the element (or "").
  • tagName: The HTML tag name of the element.
  • Text: The displayed text of the element, if any.
  • Location: The x,y coordinates of the element on the page.
  • Size: The width and height of the element as displayed on the page.
  • isSelected: Whether the element is currently selected or not. True or false.
  • isEnabled: Whether the element is enabled or disabled. True or false.
  • isDisplayed: Whether the element is currently showing on the page. True or false.
  • WebDriver: The WebDriver object of the connection this element belongs to.

WebElement Functions - Note: Not all actions are applicable to all element types

  • sendKeys(text): Simulates typing the given text into the element. This ddoes not clear any previous contents.
  • clear(): Clears the contents of the element.
  • submit(): Submits the element, or the form that contains it.
  • click(): Perform a click on the element.
  • doubleClick(): Perform a double-click on the element.
  • moveTo(): Move to the center of the element.
  • moveTo(offset): Move to a specific x,y offset relative to the top left corner of the element.
  • attribute(attrName): Returns the value of the attribute named attrName of the element.
  • element(): Specifies an element within the element, without immediately locating it.
  • findElement(): Locates a specific element within the element.
  • findElements(): Locates all matching elements within the element.

Results Improvements

  • Adds the Actions type for the ScriptLogging global property. When the scriptLogging is set to Actions, global property changes do not appear in log files. This is helpful for users who want their results to reflect the steps they are performing against the SUT, without added information from Eggplant Functional.
  • Eggplant Functional now computes results statistics for Gherkin, API, and table-based tests.

License Improvements

  • When a license is removed from the license server, Eggplant Functional honors that removal by not automatically replacing the license.

Bug Fixes / Tweaks

  • Fixes an occasional problem with capturing movies.
  • Fixes a problem with starting Eggplant Functional on the Windows 10 Fall Creators Update.

Updates

  • Fixes a problem using RunWithNewResults on scripts that have a dot in the name.
  • Fixes a problem where the Results of scripts with a dot in the name are grouped together.
  • Fixes a problem calling the legacy Text Image Generator.
  • Fixes a problem accessing certain system environment variables.
  • Fixes a problem sorting results by the run date.
  • Fixes a problem overwriting -DefaultDocumentDirectory on Windows.
  • Fixes a problem that cleared Global Variables between drive calls when the GUI flag was enabled.
  • Fixes a problem where scripts could fail to end correctly.
  • Removes the gpbs and gdnc dependent processes on Windows.
  • Auto-complete no longer stops on an underscore.
  • Helper suites no longer appear on the Save Image sheet.
  • Creating collections from the Update Image panel now retains the original search settings.
  • Improves the highlighting of Gherkin feature steps.
  • Adds all heuristics to the Run Preference panel.
  • Fixes several performance and stability issues.