Nexial Automation

Test Automation Platform for everyone!

X

nexial-core 3.8 (2021-04-09)

Release 3.8

2021-04-09

General

Fixes

Improvements

  • PolyMatcher: NEW matchers added
    • LENGTH:: check that the target value contains specified length. For example, LENGTH:5 means to check that the target value has a length of 5. One may prefix with a numeric comparator for added expressiveness. For example, LENGTH: >5 means to check that the target value has a length greater than 5.
    • NUMERIC:: perform numeric comparison so that 100 would be considered the same as 100.00. For example, NUMERIC:100.0 means to check that the target value has a numerical value of 100. One may prefix with a numeric comparator for added expressiveness. For example, NUMERIC: >= -5.01 means to check that the target value has a numerical value greater or equal to -5.01.
    • EMPTY:: check that the target value is empty (EMPTY:true) or not (EMPTY:false).
    • BLANK:: check that the target value is blank (BLANK:true) or not (BLANK:false). Note that an empty value is considered as blank as well (however, not the other way around).
  • better console output for failed actual-expected comparison, this impacts:

Flow Control

  • NEW flow control to be evaluated AFTER the execution of a step. This guarantees that the current step will be executed before any flow control is considered (for subsequent steps):
    • EndAfterIf(filter): end current execution if the specified filter is matched. This flow control will not alter the count of failed steps.
    • EndLoopAfterIf(filter): end current loop (iteration or repeat-until) if the specified filter is matched. This flow control will not alter the count of failed steps.
    • FailAfterIf(filter): fail current execution if the specified filter is matched. This flow control will result in an additional count towards the total failed steps.

Nexial Interactive

  • redesigned execution summary on console to reduce output and to improve readability.
  • code fix to correctly update execution statistics (esp. on execution duration).
  • simplify “Inspect” mode in Nexial Interactive to improve usability. Type :HELP to show usage.

Expression

  • NUMBER » max(numbers): NEW operation to replace current expression value with the maximum value amongst current value and a list of numbers.
  • NUMBER » min(numbers): NEW operation to replace current expression value with the minimum value amongst current value and a list of numbers.

desktop commands

Screen Capture:

excel commands

pdf commands

  • reduced excessive (and otherwise unhelpful) logging from console during the parsing of PDF document.

rdbms commands

web commands

  • supports the automation of Edge browser embedded in another Windows application via the use of nexial.browser.embedded.appLocation System variable. Note that this is only supported for Microsoft Edge v80 or above (i.e. chromium).
  • supports browser-level logging for Microsoft Edge browser via nexial.browser.logEdge System variable.
  • code fix to prevent pre-emptive browser initialization (and opening) after initial scenario execution.

ws commands

  • For BASIC authentication, nexial.ws.basic.password is no longer required (edge cases). nexial.ws.basic.user is still required for BASIC authentication.

tn.5250 commands

  • handle special case during “type key” when the input contains [ without ].
  • waitUntilProcessed(maxWaitMs): NEW wait-until command to poll for the current TN5250 session to be unblocked from processing request. Usually, when a request is made to the connected TN5250 session, the server will need some time to completed the requested command/transaction. This command the automation to pause (and poll) until the request is completed and the session is “unblocked” from further interaction.
  • reduce poll time from 1000ms to 200ms to improve overall performance.
  • code fix to parse correctly TN5250 table with overrun cell data (cell data that is longer than the associated header).
  • implemented “automatic break-message detection and dismissal” via System variables:
    • nexial.tn5250.detectBroadcastTitle
    • nexial.tn5250.detectBroadcastText and
    • nexial.tn5250.dismissBroadcastMessage (required).
    • reference: https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_74/cl/sndbrkmsg.htm
  • improved the handling of table data in nested screen (AS/400’s pop-up screen).
  • improved the parsing of table data esp. when the data of 1 cell extends beyond its bound (into the adjacent cell).
  • improved table automation when saving table data to CSV. When PAGE-UP or PAGE-DOWN is required, Nexial performs additional checks to ensure that the status message remains unchanged.
  • when inspecting a nested screen, an extra {TAB} character is issued to ensure keyboard focus on the nested screen.