nexial-core 3.2 (2020-08-05)
Release 3.2
2020-08-05
General
Fixes
- Fix issue with Excel parsing where
_x[NUMBER]_
is treated asUTF
decoding and thus translated intoUTF
character. Code fix circumvented theUTF
translation. - Fix code to read from multiple datasheets with respect to change of iteration configuration between data sheets.
- minor adjustments to the data file in
template/
directory to improve performance.Improvements
- ErrorTracker: New feature to trap all step-wise errors
into a separate log file so that we can streamline root cause analysis.
- minor HTML-level changes to improve the display of ErrorTracker logs (in email notification).
- Ensure Nexial (re)reads datasheets per plan step to ensure the latest information being parsed for execution. This enhancement supports the scenario where preceding plan step would modify data sheets for subsequent plan steps.
- Added logic for opening report file in linux machine after execution.
- Execution output generation:
- line breaks in base »
verbose(text)
are now preserved - skipped steps are no longer evaluated for data variable, function or expression expansions. This will speed up execution and avoid unwanted side effects.
- line breaks in base »
System Variable
nexial.screenshotInFull
: New system variable to capture entire web page screen. Default value for this variable isfalse
.nexial.screenshotInFullTimeout
: New system variable to provide time before scrolling down while capturing entire web page. Default value of this variable is5000
milliseconds.
Nexial Interactive
- Minor improvement on console output
Expression
- WEB: Slight output improvement (shorter)
Built-In Function
$(format|fileURI)
: NEW function to convert local file path into afile://
type URL.$(projectfile|macro)
): NEW function to provides macro details such as macro file, sheet and macro name mainly to be referred to invocation of macro from base »macroFlex(macro,input,output)
).
base commands
macroFlex(macro,input,output)
: NEW command as extension tomacro(file,sheet,name)
` with functionality of providing inputs and extracting outputs during invocation.
io commands
waitForFile(file,minFileSize,waitMs,maxWaitMs)
: NEW command to wait until a file is stabilized in terms of file size and last modification date.
localdb commands
- Added code to handle the use of
"reserved"
words in column names.
pdf commands
combine(path,fileFilter,saveTo)
- NEW combining multiple PDF files into a single PDF file.
rdbms commands
saveResult(db,sql,output)
: A query of zero row will no longer be considered asFAIL
saveResults(db,sqls,outputDir)
: Queries of zero row will no longer be considered asFAIL
- Fixed error when handling the execution of stored procedures which might contain multiple results (result set and possibly update row count).
- For executing stored procedure, both the
{CALL ...(...)}
andEXEC ... ...
forms are supported now.
web commands
- Create default
waitMs
for the followingwaitFor...
commands:waitForElementPresent(locator,waitMs)
waitUntilVisible(locator,waitMs)
waitUntilHidden(locator,waitMs)
waitUntilEnabled(locator,waitMs)
waitUntilDisabled(locator,waitMs)
- The default
waitMs
(if not specified) is the same as${nexial.pollWaitMs}
.
nexial.web.unfocusAfterType
: Added a slight wait between typing and tabbing out of current web element.- Added error handling when Nexial timed out during the execution of a
wait...
commands. screenshotInFull(file,timeout)
: NEW command to capture entire web page screenshot with scrolling timeout.- Added more leniency in terms of exception handling when executing the
waitUntil...
and theassert...
commands. This results in more robust handling of slower or unreliable application response during automation. nexial.browser.downloadTo
: Determine the target location to download files during browser automation.nexial.browser.downloadPdf
: Determine if any PDF document
encountered during browser automation should be displayed (default) or downloaded.nexial.browser.windowPosition
: Allow user to set the initial position of the target browser window. Default is0,0
, meaning top-left position of the current desktop.moveTo(x,y)
: NEW command to move current browser window to another position.- Failure to download the web driver will no longer
FAIL
execution.