nexial-core 3.4 (2020-10-12)
Release 3.4
2020-10-12
General
Fixes
- fixed runtime error when checking for Nexial Installer and Nexial version.
- fixed issue for windows while executing script/plan when USER_HOMEhas spaces.
- fixed the issue where an expression is sometimes evaluated twice.
- forcefully failed script where leading/trailing non-printable characters in Activity name is found; necessary since such cases would likely cause execution failures.
Improvements
- bin/nexial-artifact-repairenhanced to retain specific data format (date format, background, and border colors mainly).
- bin/nexial-script-updateenhanced to automatically trim any leading/trailing whitespaces from scenario or activity name to avoid execution-time errors.
- updated to Spring 2.3.4, Kotlin 1.4.10.
- updated code to eliminate JVM warning on “illegal reflective access”.
System Variable
- nexial.mailSubject.withSynopsis: NEW System variable to support the inclusion of a “PASS” or “FAIL” postfix at the end of an execution notification email.
Nexial Interactive
- added helpful hints on how to use “Inspect” within Nexial Interactive.
- fixed defect to support the iteration in Nexial Interactive. Now one can change the iteration scope. 
(i.e. nexial.scope.iteration) between the test artifacts reloads.
Expression
- BINARY: NEW expression to support binary data type.- support the loading of binary data from an external file.
- previous [encodeBase64] has been renamed asbase64encodefor consistency.
 
- SQL => cell(resultName,row,column): NEW operation to retrieve a specific column of a specific row from a specific query result (referenced by name). Depending on the underlying data type, the resulting expression could be a- NUMBER,- BINARY, or- TEXTexpression.
- SQL: added support for binary or byte-array data type.
- TEXT => binary: NEW operation to convert text into its binary form.
- TEXT => removeLeft(length): NEW operation to remove characters off the current text from the left (i.e. beginning).
- TEXT => removeRight(length): NEW operation to remove characters off the current text from the right (i.e. end).
- LIST => saveItems(indexAndVar): NEW operation to save one or more items from a- LISTas individual data variables.
base commands
- assertMatch(text,regex): NEW command to check for text value via regular expression.
external commands
- nexial.external.workingDirectory: supports the use of a “working directory” when running an external program. This will affect the starting directory of an external program.
- openFile(filePath): NEW command used to open any type of file like pdf, excel, txt, png, etc.
image commands
- ocr(source,saveVar): performance improvement to cache OCR text for repeated use.
io commands
- checksum(var,file): NEW command to determine a file’s checksum value.
localdb commands
- support binary or byte-array data types. Query result set that is of type BINARY or ARRAY will be maintained as such. 
One can use the BINARYexpression to save binary or byte array data to a file.
mail commands
- compose(var,config,value): NEW command to allow for flexibility in sending SMTP email. Currently, this command supports the adding of recipients in the TO, CC, and BCC list, the adding of attachments, and the HTML content.
- clearComposed(var): NEW command to clear any previously configured email composition.
- sendComposed(profile,var): NEW command to send a composed email.
rdbms commands
- support binary or byte-array data types. Query result set that is of type BINARY or ARRAY will be maintained as such. 
One can use the BINARYexpression orSQL >> cell(resultname,row,column) save(file)expression to save binary or byte array data to a file.
web commands
- clickAndWait(locator,waitMs): use- waitMsas time out value to wait for the completion of the page load event, which is triggered by this click event.
- clickByLabelAndWait(label,waitMs): use- waitMsas time out value to wait for the completion of the page load event, which is triggered by this click event.
- doubleClickAndWait(locator,waitMs): use- waitMsas time out value to wait for the completion of the page load event, which is triggered by this double-click event.
- doubleClickByLabelAndWait(label,waitMs): use- waitMsas time out value to wait for the completion of the page load event, which is triggered by this double-click event.
- doubleClick(locator): fixed erroneous code that attempts to perform triple clicks (yikes…).