Nexial Automation

Test Automation Platform for everyone!

X

nexial-core 1.1 (2018-05-02)

Release 1.1

2018-05-02

Please Note

If you have test scripts created in Sentry, be sure to bin/sentry2nexial.cmd script for your project PRIOR to using with Nexial.

General

  • Now supports BAI2 Expression to parse and validate text files with BAI2 file format.
  • Upgraded to Kotlin 1.2.31
  • Enabled project.properties setting to take effect even when no site-wide Nexial setting jar is found.
  • Performance improvement on reading Excel files:
    • Delete “temp” Excel files ONLY if they were opened as duplicates (mostly Windows).
    • Implemented functional calls to eliminate excessive worksheet reads.
  • Add new System variable, nexial.lastOutcome, to capture the link to the output generated by a command. Such output are generated shown as link subsequent to the associated command in the output file. With this new System variable, it is possible to read and automate on the content of the same file.
  • Updated Email Notification code to send out email notification at the end of an execution. To enable notification, be sure to read up on nexial.enableEmail.
  • Output-to-Cloud fixes and enhancements:
    • Add additional checks to ensure required settings are appropriately configured before use.
    • Any “output to cloud” code routine could fail-fast if improper/missing S3 connectivity is encountered.
  • Logging:
    • Reduce log verbosity for 3rd-party libraries.
    • Implemented “delayed” logging strategy so that more logs can be captured in execution-specific log files.
      • When Nexial first started, all file-based logs are pointing to ${java.io.tmpdir}.
      • When the “output” directory is determined, file-based logs are redirected to ${out}/logs directory.
  • Unit testing:
    • Added/fixed multiple unit tests.
    • Skip pause when running Nexial under unit testing.
  • Utilities/batch files:
    • Fixed the “extra line created” issue while performing data variable renaming via bin/nexial-variable-update.[sh|cmd].
    • Enhanced bin/*.[sh|cmd] scripts so that they can be run outside of the bin/ directory.
    • Enhanced bin/nexial-project.[sh|cmd] to support project directory not found under the standard C:\projects\ or /Users/<username>/projects directory.

Nexial Filter

  • Nexial Filter now supported in flow control as well as CSV Expression (since 1.0).
  • Added more conditions to Nexial Filter. The complete list is:
    • >, >=, <, <=, =, !=, is/in, is not/not in, contain, start with, end with, is undefined, is defined, has length of, is empty, is not empty, match (regex).
  • Nexial filter now uses pipe (|) as separator for item listing, which should be enclosed in [...] unless there’s only 1 item.

Nexial Expression

  • Uniformed handling of numeric values:
    • Defaults to using scale of 25 (i.e. 25 decimal places) when dealing with double.
    • Defaults to rounding “up” when dealing with double.
    • Currently applied to LIST and NUMBER.
    [BAI2 Expression]
    [CSV expression]
    [EXCEL expression]
    [NUMBER expression]
    • fixed NUMBER expression when dealing with whole number. Previous implementation “eagerly” converts whole number to decimal number, but this is now fixed.

base commands

  • base » verbose(text)
    • Reduced unnecessary console logging.
    • Add original script parameter as comment when generating output for this command.
  • base » macro(file,sheet,name)
    • Honors the flow control defined at the calling scripts. If the step that invokes the macro call has flow control(s) defined, those flow control(s) will impact to the import macro steps.
  • base » clear(vars)
    • NEW command to automate the clearing of one or more variables. Useful for managing memory footprint and to reduce variable conflict.

csv commands

desktop commands

external commands

  • Expose the filename of the output file generated by running external &raquo; runProgram(programAndParams command via a system variable nexial.external.output.

jms commands

  • Fixed bad reflection class in WebSphereMQJmsClientConfig. Both BeanUtils and MethodUtils failed since they mistakenly took the MQConnectionFactory as a Map instance.

mail commands

  • Updated command to use profile for configuring mail connectivity. This change now allows for multiple mail server configurations within one execution.

number commands

step commands

web commands

  • shipped with geckodriver 0.20.1 (Firefox):
    • Avoid attempting to kill Firefox process that has stopped.
    • With the change to allow Firefox enough time to shut down in 0.20.0, geckodriver started unconditionally killing the process to reap its exit status. This caused geckodriver to inaccurately report a successful Firefox shutdown as a failure.
    • The regression should not have caused any functional problems, but the termination cause and the exit status are now reported correctly.

ws commands

  • fixed ws » oauth() to support OAuth response that contains multiple entitlements, products, etc. (essentially JSON array).