Eggplant Functional 22 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 11, macOS 10.15, macOS 10.14, macOS 10.13, macOS 10.12.

Windows: 64-bit distributions only. Windows 10, Windows 7, Windows Server 2016, Windows Server 2012, Windows Server 2008.

Linux: 64-bit distributions only. Ubuntu 16. Red Hat 7. CentOS 7.

Ports: TCP 5052-5054. For SUTs: RDP: 3389. VNC: 5900. WebDriver: 4444.

Notes

  • Apple M1 chip is now supported.
  • Red Hat 6 and CentOS 6 are no longer supported.
  • 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.

22.0.0 (26 Nov 2021)

Features

  • Adds the capability to program and control Keysight test and measurement devices with SenseTalk, using:
    • The Virtual Instrument Software Architecture (VISA) protocol to connect to a device
    • Standard Commands for Programmable Instruments (SCPI) to control and obtain information from the device.

    This functionality is only available for supported Windows versions through the ST_VISA Xmodule included with SenseTalk. Keysight IO Libraries must also be installed on the machine.

SenseTalk Improvements

  • Adds VISA and SCPI functionality for connecting to and controlling test and measurement devices, including the following functions:
    • VisaDevice: Obtains a connection to the device.
    • VisaAddresses: Obtains a list of known device addresses.
    • ST_VISA_Version: Gets information about the current version of the Xmodule that is installed with SenseTalk.
  • When a VisaDevice connection is obtained, two-way communication to control and obtain information from the device is available through a number of SCPI-based commands and functions.

  • Adds the assertionPassedDelegate and the assertionFailedDelegate global properties. Use these properties for setting objects to receive assertionPassed or assertionFailed messages when an assert command is executed. When a delegate object is set, one of the following handlers is implemented for the messages:
    • to handle assertionPassed
    • to handle assertionFailed

    Both handlers receive a first parameter, which is the message text that describes the assertion. The handler for a failed assertion can also receive a second parameter, which is the name of the assertion behavior that was invoked:

    • error
    • warning
    • exception
    • pause

    Use the handlers for tasks such as logging or analyzing the assertions from test executions.

  • Adds support for octal and binary numbers:
    • Octal (base 8) numbers are expressed as 0o (zero then the letter 'O')
    • Binary (base 2) numbers are expressed as 0b followed by one or more zeros or ones.

    set mask to 0o377

    put 0b1101 —> 13

  • Adds support for displaying numbers in octal or binary format. Either:
    • Convert a number to as octal or as binary formats
    • Set the numberFormat to "octal" or "binary".
  • put 255 as octal —> 0o377

    put 42 as binary —> 0b101010

    put 13 into aNum

    put aNum —> 13

    set the numberFormat to "octal"

    put aNum —> 0o15

    set aNum's format to "binary 6"

    put aNum —> 0b001101

    multiply aNum by 2

    put aNum —> 0b011010

    delete aNum.format -- go back to using the numberFormat

    put aNum —>0o32

    set the numberFormat to "0.0#####"

    put aNum —> 26.0

    You can also specify the number of digits to display, e.g. "binary 6" displays 6 binary digits.

  • Adds support for bitwise operators:
    • bitAnd (bitwise AND)
    • bitOr (bitwise OR)
    • bitXor (bitwise XOR)
    • bitNot (bitwise NOT)
    • bitShift left and bitShift right (shifts bits left or right)
  • set the numberFormat to "binary 8"

    set the bitLength to 8

    put bitNot 0b00010101 —> 0b11101010

    put 0b00010101 bitAnd 0b00111100 —> 0b00010100

    put 0b00010101 bitOr 0b00111100 —> 0b00111101

    put 0b00010101 bitShift left 2 —> 0b01010100

  • Adds the bitLength global property to control the number of bits used by bitwise operators.
    • By default, the bitLength is 64, which treats numbers as 64-bit signed integers for purposes of bit operations.
    • Setting the bitLength to anything less than 64 treats the results of bit operations as unsigned integers.
  • set the bitLength to 32

  • Adds bit expressions and functions to give access to or to set an individual bit within a number:
    • bit 1 is the furthest right bit in the number in binary format, bit 2 is the next left, and so on.
    • Bits up to bit 64 are available, or you can access the value that the bitLength is set to.
    • Each bit is 0 or 1, and is also treated as a boolean (True or False) when testing bits. You can also set the boolean values for a bit to True or False, Yes or No, On or Off, and 0 or 1.

    set the numberFormat to "binary 8"

    set controlByte to 0b00001110

    put bit 1 of controlByte —> 0

    put bit 2 of controlByte —> 1

    set bit 7 of controlByte to On

    set bit 3 of controlByte to 0

    put controlByte —>0b01001010

  • Adds turn on and turn off commands as a convenient, readable way to set properties or other values to On or Off. For example:

    turn on the caseSensitive -- sets the caseSensitive property to true

    turn the caseSensitive off -- sets the caseSensitive property to false

    turn on bit 4 of powerFlags

  • Adds a sourceExpression or sourceExpr property. This property gets its value from the text of the expression which created that value.

    set timePattern to <1 to 2 digits, ":", 2 digits>

    puttimePattern's sourceExpr —> <1 to 2 digits, ":", 2 digits>

    put timePattern's regex —> \d{1,2}:\d{2}

    In addition, you can use the regex property to hold the value of the corresponding regular expression text.

Bug Fixes and Improvements

  •  Improves the parsing of hexadecimal numbers in SenseTalk:
    • Positive numbers up to 0x20000000000000, the highest integer SenseTalk can represent precisely, which is equal to 2^53
    • 64-bit negative numbers in two's complement, from 0xFFFF_FFFF_FFFF_FFFF (-1) to 0xFFE0_0000_0000_0000 (-(2^53)).
  • Removes an arbitrary limit of 4,000 characters on ODBC commands. There is now no absolute limit.
  • The words up and down are no longer treated as constants in SenseTalk. This means that you can use them as variable names, if required.
  • Adds support for a leading + sign with SenseTalk expressions.
  • Addresses a timeout error in FEDrive when you run a snippet with a shell command with the DAI agent in Run mode.
  • Verified support for WebDriver with Microsoft Edge using Selenium Standalone Server version 4.0.0.
  • Global variables are now passed in and out correctly when using the Extract New Script feature.
  • Spaces are now recognized in search parameters for the OCRSearch diagnostic search.
  • Writes a log statement when you use the Rectangle property with the CaptureScreen command.
  • Addresses crashing in unique workflow scenarios.
  • The Username on the Add/Edit Connection panel is no longer disabled when selecting a type of WebDriver.
  • Improves the clipboard behavior for testing with iOS Gateway and iOS 14.5 and above.
  • Recognizes spaces in the path to the Suites root folder after an upgrade to Eggplant Functional 21.3.1 and Eggplant DAI 5.3.
  • Resolves an error that occurred when incorrect SUT connection details were used for a test execution in Eggplant DAI.
  • Eggplant Fusion Engine no longer generates large log files when executing tests from Eggplant DAI.
  • Improves error codes and logging in Eggplant Fusion Engine when running test executions in Eggplant DAI.
  • Provides enhanced security for connections from Eggplant Fusion Engine to the Eggplant DAI server.
  • Mac Only: Establishes successful Remote Desktop Protocol (RDP) connections from Eggplant DAI in Design mode to Eggplant Fusion Engine.
  • Writes a log statement when Eggplant Fusion Engine is launched in Eggplant DAI.
  • Resolves an exception that occurred when clicking exit fullscreen with the TypeText panel displayed.
  • Resolves an NSInvalidArgumentException and crashes when using incorrect values for the SearchRectangle property.
  • Resolves a crash that occurred when dragging new elements to customize the toolbar in the Viewer window.
  • Addresses an issue that occurred when editing API tests outside of the Eggplant Functional Studio editor.
  • Adds support for socially responsible technical nomenclature as part of Keysight’s Social Responsibility initiative.
  • Adds improvements for general stability and performance.

 

This topic was last updated on November 26, 2021, at 01:03:00 PM.

Eggplant icon Eggplantsoftware.com | Documentation Home | User Forums | Support | Copyright © 2022 Eggplant