Eggplant Functional v18 Release Notes
The notes below provide descriptions of the new features and changes introduced with each release of Eggplant Functional. 以前のバージョンからアップグレードする場合は常に、関連する変更項目を読むことを強く推奨いたします。
Mac: macOS 10.13, macOS 10.12. OS X 10.11, OS X 10.10, OS X 10.9
Windows: Windows 10, Windows 8, Windows 7, Windows Server 2012, Windows Server 2008
Linux: 64-bit distributions only. Red Hat Enterprise Server 6 or later (and compatible distributions), Debian 5 or later, Ubuntu 12.04, 14.04
Release 18.0.3 (25 February 2018)
- Adds functionality for middle mouse button clicks in Live Mode.
- Adds the MiddleClick "image1" command for use in scripts and Turbo Capture sessions.
- 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)
- 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.
- 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.
- 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.
- 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.104.22.168 (4 January 2018)
- Corrects a problem with the Save Image panel.
Release 18.0.1 (3 January 2018)
- 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)
- 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.
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")
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.
- 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.
- 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.
- 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.
- When a license is removed from the license server, Eggplant Functional honors that removal by not automatically replacing the license.
- Fixes an occasional problem with capturing movies.
- Fixes a problem with starting Eggplant Functional on the Windows 10 Fall Creators Update.
- 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.