eggPlant Functional v15 Release Notes
The notes below provide descriptions of the new features and changes introduced with each release of eggPlant. 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 OS X 10.7, 10.8, 10.9, 10.10
- Windows 7, 8, Server 2008, Server 2012
- Linux 32-bit Debian and RedHat based on glib 2.11 and above
64-bit distributions must have supported versions of all dependent 32-bit libraries.
Notes For Cross Platform Users:
eggPlant for Linux and Windows contains almost all of the functionality available in eggPlant for Mac. Excluded features are listed at the bottom of the release notes.
List of Release Notes
Following is a list of the release notes provided below:
Release v15.20 (18-August-2015)
Release v15.13 (27–April-2015)
Release v15.11 (26-March-2015)
Release v15.10 (03-March-2015)
Release v15.02 (19-January-2015)
Release v15.01 (19-December-2014)
Release v15.00 (2-December-2014)
Release v15.20 (18-August-2015)
Highlights
- New SenseTalk Browser that includes descriptions, templates, and documentation links for common scripting terms.
- Auto-completion of punctuation, control structures, and SenseTalk language elements in the script editor.
- Capability to create custom code Snippets as part of the SenseTalk Browser.
- Variable Watcher allows you to view and edit variable values during script execution.
- Table tests now support Data Driven execution to iterate over values stored in a CSV table.
- Ability to refactor scripts by extracting sections of code into a new script.
Connection Improvements
- Windows RDP now uses significantly less CPU on Windows.
- Values specified in Connect commands or by using command-line arguments now take precedence over existing values in the Connection List.
- Built-in Android Server 2.6 is included in eggPlant Functional 15.20. iOS Gateway 2.6 is forthcoming.
- Added options for Mobile VNC connections to scale the remote screen size down. Optionally allows scaled screens to be blended (for compatibility with older VNC servers). Note: Requires iOS Gateway 2.6 or Android Server 2.6.
- Added Reboot command for mobile connections. Note: Requires iOS Gateway 2.6 or Android Server 2.6.
- Added KillApp command to terminate mobile apps. Note: Requires iOS Gateway 2.6 or Android Server 2.6.
- Added SUTinfo() function for Android devices. SUTinfo returns a property list of information about a connected Android device. Properties include: type, device_os_version, and device. Note: Requires Android Server 2.6.
User Interface Improvements
- The Run window now has a Variable Watcher in which you can watch variable values while a script is running. Options include the scope of variables shown and the frequency of variable updates (continuously or only when the script is paused).
- You can now click script and image names to edit them inline on Windows, rather than having to use the Rename menu item.
- The Ad Hoc Do Box (AHDB) in the Run window will now expand when multiple lines of text are entered into it.
- In the Scripts list, you can enable a color indicator to show which scripts are enabled for Table Actions.
Scripting Improvements
-
Tables can now specify an optional CSV Data File. When specified, the table actions will be repeated for each row in the file. The first row must contain column headers. Values for each column can be used in the Arguments or Expected Value field by using $HEADER_NAME.
-
Tables can now specify the return value from previous lines for use in Arguments or Expected Value fields. You can refer to the results of particular lines with #LINE_NUMBER, or use #prev for the immediately preceding line.
-
Auto-completion of punctuation, control structures, and SenseTalk language elements in the script editor. Options include parentheses, quotes, commas, curly braces, square brackets, if statements, repeat statements, handlers, script names, local variables, image names, and SenseTalk keywords.
-
The answer command has been extended with
from list
,multiple
, anddefault answer
options. Example:answer "What would you like to drink?" from list ("Coffee", "Tea", "Cocoa", "Water”) allow multiple default “Coffee”
-
Capability to refactor script by extracting sections of code into a new script. To extract code to a new script, select the code, right click, and select Extract New Script in the drow-down list.
-
Added an assert command. When an assert command is executed, eggPlant logs success, failure, warning, or an exception. To improve readability, you can insert the word “that” into an assert command. Example:
assert that x > 10
Several properties govern the behavior of the assert command:
- The assertionBehavior property currently defaults to Exception. It can also be set to Error, Warning, or Pause to establish the default behavior for any assert commands that don't specify a behavior. When the behavior is "Pause", a logWarning occurs and the script will pause in the debugger on the line following the assert command.
- The assertionPassCount, the assertionFailCount, the assertionErrorCount, the assertionWarningCount, and the assertionExceptionCount are global counters that are incremented as appropriate each time an assert command is executed. Each failure will increment both the assertionFailCount and also one of the error, warning, or exception counters.
- The assertionsEnabled property defaults to True. If set to False, assert commands are ignored and never executed.
-
For Linux: Image names are now treated as case-insensitive when used in standard eggPlant image commands. Local file operations will still defer to the case behavior of the local file system.
Bug Fixes/Tweaks
Connections
- Fixed some issues where a screen size change would not be properly detected at the script level.
- Fixed some problems where the connection list did not update with connections made from scripts.
- Fixed some problems getting a range exception when working in the connection list.
- Fixed a problem with the Bonjour discovery preference not being honored.
- Fixed a problem where RDP connections couldn’t be re-established after the connection was closed externally.
- Fixed a problem making some RDP connections from the command line.
- Added support for WindowsAltKey to RDP connections.
- Fix mapping of F11 for RDP connections.
- Corrected an issue where local Android device names and serial numbers could fail to display correctly.
- Properly display names of eggCloud devices.
- Fixed a problem with reservations from eggCloud reporting the wrong time.
- Resolved an issue with very slow start-ups when the configured eggCloud server couldn’t be reached.
- Fixed a problem where connecting to an eggCloud SUT using a rule would sometimes connect to the wrong SUT.
Scripting
- Fixed a crash that could occur when closing a suite while a Table Test was running.
- Fixed several formatting issues in the Tables with values overflowing their cells.
- Fixed a problem where Tables could become disassociated with the scripts they were calling.
- Fixed a problem with TypeText HomeButton.
- The RemoteWorkInterval will now be checked before Pinches take place.
- Attempting to copy files to/from a SUT will now throw an error if there is no connection.
- Dramatically improved memory usage with OCR commands.
- Fixed an occasional timing issue when specifying ValidWords for an OCR search.
- Better error messages when attempting to perform an invalid OCR operation.
- Fixed a problem where very long return values (e.g. from a URL read) would not be displayed properly on Windows.
User Interface
- Deleting all logs for a script will now remove the script in the Results list.
- Much better recording of Drag and Drop events in Turbo Capture mode on Windows and Linux.
- Fixed a problem opening results in other Suites from Schedules.
- Fixed a problem where aborted Schedules would show scripts with a success status.
- Fixed a problem where tolerant images would display as if they had the Pulsing search type selected.
- Fixed a problem where the hot spot would be re-set to the middle when an image was recaptured using the Update Image Panel.
- Images fixed using the Discrepancy Search in the Update Image Panel will now use absolute pixel values rather than a percentage.
- Fixed a problem saving recaptured images to a helper suite from the Update Image Panel.
- Fixed a problem where the last line of a script was ignored by the Trace feature.
- Cleaned up many formatting issues in the Preference Panes.
Miscellaneous
- Added a Copy To Clipboard button for the Host ID in the license panels.
- Fixed a problem on some Linux distributions where external files and URL resources wouldn’t open properly.
- Fixed an issue where special CLI licenses were sometimes prioritized ahead of GUI licenses.
Release v15.14 (9–June-2015)
Bug Fixes/Tweaks
- Fixed a problem with reconnecting to remotely terminated RDP sessions.
- Fixed a problem with random numbers in scripts on Windows.
- Added support for ZLIB compression to the built-in Android VNC server.
- Added scaling support to the built-in Android VNC server. Users can specify scaling in their Connect command by passing "--scale-screen RATIO" in the AdditionalArgs argument.
- Fixed a problem in the built-in Android VNC server that occurred when connecting and disconnecting repeatedly.
Release v15.13 (27–April-2015)
Bug Fixes/Tweaks
- Added a GUI control in preferences to select the version of ADB.
- Improvements to automatically deployed VNC server for Android.
- Fixed a condition in the Connection List that could result in connecting to the wrong SUT.
- Fixed a problem connecting to Android devices where the connection was prematurely closed by the host.
- Dramatically improved the Suite Search field on Windows when many images are present in the Suite.
- Fixed a problem with ad hoc eggCloud reservations not extending automatically.
- Changed Windows to not stop the ADB server to facilitate testing multiple simultaneous devices. (Not recommended with ADB 1.0.31.) ADBStopServerOnQuit
Release v15.12 (6–April-2015)
Bug Fixes/Tweaks
-
Added logic to work with a wider selection of Android devices across multiple versions of ADB. By default, ADB version 1.0.31 is used.
-
You can switch to the newer version of ADB (not compatible with some older devices) by issuing this command:
defaults write Eggplant ADBVersion "1.0.32"
(Mac/Linux)defaults.bat write Eggplant ADBVersion "1.0.32"
(Windows)
Release v15.11 (26-March-2015)
Highlights
- eggPlant Functional now includes a built in VNC server for Android devices. It will be installed when connecting to devices if a VNC server is not already present.
- Improved integration with eggCloud servers.
User Interface Improvements
- Improvements to the Table GUI and placeholder tokens.
- Dramatically improved performance of Find and Replace on Windows.
Connection Improvements
- Added the ability to use domain\username with RDP.
- Fixed a crash when RDP connections fail unexpectedly.
- Corrected a problem launching eggOn app for Android via USB.
- Addressed an issue connecting to multiple Android servers that were using the same port.
Scripting Improvements
- Made ranges evaluate correctly when different units were used for the endpoints.
- Fixed a problem where predefined variables would not act as empty when they were modified.
- Normalized the line ending when reading text at a point and at a rectangle.
- Fixed a problem archiving property keys with non-identifier characters.
Bug Fixes/Tweaks
- Corrected an issue where licenses were not released when eggPlant Functional was run from the command line or terminated abruptly.
- Fixed problems where the RunHistory.xml file could become corrupted.
- Fixed problems with eggPlant Functional responding sluggishly/not responding.
- Fixed a problem reading non-ASCII characters from databases.
- Provide feedback if Bonjour/Zeroconf is not enabled.
- Fixed a hang when a connection drops during a CaptureScreen.
- Cleared an exception that could occur with Show Image Usage.
- Fixed a condition that could occur when using the ValidWords property on a text image search.
- No longer update the SuiteInfo file if we haven’t modified script metadata.
Release v15.10 (03-March-2015)
Highlights
- New commands to copy files and upload applications to mobile servers.
- Support for Pinch gestures in iOS Gateway.
- New commands to set iOS Device Orientation.
- Added VNC Server Discovery for servers that advertise via Bonjour/ zeroconf. (Previously Mac only)
User Interface Improvements
- Added the ability to specify the resolution of an RDP session in the connect interface.
- Added a checkbox to "Save Password" when making a connection.
- Tables now allow you to define ACTIONS from scripts with spaces in their name.
- Prevent saving scripts and images with invalid characters in the name (like Colon or Quote).
- Added the ability to specify an eggCloud port number in the preferences.
- Vertical and horizontal Toolbar settings are now saved between sessions.
Scripting Improvements
- Added the commands for PinchOut/PinchIn to invoke zooming on a multitouch device. You can specify just a point, a point and a distance, or two points. Please see the documentation for a full description.
//Zoom in on an image with default duration (2 seconds):
PinchOut (At:"MyPhoto")
// Zoom out from a point for 300 pixels:
PinchIn (At:(500, 500), Distance:300)
// Zoom in using two image points
PinchOut (At:"LEFT_SIDE", To:"RIGHT_SIDE")
- Added commands to RotateLeft, RotateRight, SetDeviceOrientation and GetDeviceOrientation(). These commands give you full control over mobile device orientation. Please see the documentation for a full description.
SetDeviceOrientation "Landscape"
put GetDeviceOrientation()
- Added the ability to copy files to/from the iOS Gateway. Use the copy file … to … syntax with sut: before the filename to indicate a remote file.
copy file "/Users/jonathan/MyFile.txt" to "sut:/tmp/MyFile.txt"
- Added the ability to install and sign applications to iOS Gateway controlled SUTs. Use the InstallApp command, which takes the ApplicationPath key as a reference for the file to install. It can begin with sut: to specify a file on the iOS Gateway machine. Optionally you can also specify a mobile provision file with ProvisionPath to use to resign the application. Again you can use sut: to specify a file on the iOS Gateway machine. Finally, CertificateName must be a valid Certificate Name that has been stored in the keychain on the iOS Gateway machine.
installApp (applicationPath:"/Users/paul/Desktop/YetAnotherSampleApp.ipa", provisionPath:"sut:/Users/paul/Library/MobileDevice/Provisioning Profiles/0c7acd92-b4fc-4295-9938-58b759287d3f.mobileprovision", certificateName:"iPhone Developer: Paul Landers(7JZCTVR53Z)")