Nexial Automation

Test Automation Platform for everyone!

X

nexial-core 3.3 (2020-09-09)

Release 3.3

2020-09-09

General

Fixes

  • fix OS-specific path issue when handling path as command parameter.
  • fix screenshot link creation in execution output.
  • exposing nexial.lastError within macro execution.
  • enable PauseAfter() within macro execution.
  • support data variable creation (such as via base » save(var,value)) from within macro (macroFlex()).
  • code fix to accurately parse text into array when successive delimiter is encountered. (e.g. a,,b will be parsed as ["a", "", "", "b"]).
  • prevent a “skip” condition to be considered as a failure via the nexial.lastOutcome System variable.
  • replaced new line character with space for activity name in log, output/junit.xml and output/execution_detail.json

    Improvements

  • for all command parameters of type boolean, support the use of true, false, yes, no, on, off and log error message if invalid value found.
  • improve performance of preparing and validating large plan files (multiple subplans and many steps)
  • improve performance by reducing the template rows in template xlsx files
  • improve performance by remove some border styles from execution output files (xslx)
  • reduce unnecessary logging
  • end-immediate results in a “END test result, not PASS – to provide more clarity to the execution
  • improved performance while copying macro to test script

System Variable

Expression

Filter

  • Added NEW filters for file
    • contain file: check if the specified path directory contains a file named as given.
    • contain file pattern: Filter to check does the specified path directory contain one or more files matching provided file pattern
    • has file content: Filter to check does the specified file has provided content at least once.
    • has file content pattern: Filter to check does the specified file content matches given pattern.
    • has lastmod >: Filter to check does file have a “last modified date” greater than given value.
    • has lastmod <: Filter to check does file have a “last modified date” lesser than given value.
    • has lastmod =: Filter to check does file have a “last modified date” same as that of given value.

base commands

image commands

  • ocr(source,saveVar):
    • supports retries when OCR fails (default 3 retries).
    • random waits between retries to reduce conflicts.

io commands

json commands

number commands

rdbms commands

  • extra logic to handle SQL comments

web commands

ws commands

  • fix over-zealous URL encoding, which in turn had caused some authentication issue

xml commands

[tn.5250 commands]

  • (nexial-amplify ONLY)
  • fixed parsing logic: skip over screen text with no content to avoid NPE
  • fixed parsing logic: actively lining up table content against table header; some heuristics applied
  • [saveTableRow] NEW command to save the first matching row of a screen table based on the criteria
  • code stabilization for full screen and nested screen scanning
  • {SPACE} no longer supported as it is platform-specific. Use literal space ( ) instead
  • remove “hidden” text (a.k.a. “black” text) from being displayed during TN5250 screen scanning
  • support dual-pane data layout during screen scanning
  • duplicated data labels are now prefixed with @1, @2, … (previously using [1], [2], … wasn’t great since it created more parsing issues)
  • when possible, PPI are hidden from console logging
  • support successive use of the same profile (previously created duplicated session) via the same TN5250 session
  • detect read-only fields
  • [saveTableAsCSV(csv)]
    • additional logic applied to handle empty cell or cell data contains comma or double quote
    • additional logic to handle cells with missing data or missing headers
    • additional logic to handle dangling cell data (without matching header)
    • support automatic paging (and scroll back) of table content. Use maxPage to limit excessive paging.
  • [inspectScreen()] and [inspectNesteScreen(titles)]:
    • handle the parsing of data displayed in 2-column format
    • support partially dual-column display (where a screen contains only partially dual-column data layout)
  • [typeKeys(keystrokes)] enable direct support for [ATTN] key to invoke CIS command menu
  • [{PROFILE}.logInspection] reworked the log file output to improve readability
  • cleaned up some log misconfiguration
  • implemented a slightly more stable approach to wait for the TN5250 screen to “settle” down
  • [clearField(label)] NEW command to clear any value for a given field.