nexial-core 2.1 (2019-04-13)
Release 2.1
2019-04-13
General
Fixes:
- code fix to render correctly (color) the console output for SKIPPED step in
base »
repeatUntil(steps,maxWaitMs)
loop. - simplify
nexial.sh
by eliminating the need for a shell script to be generated dynamically. - fix error with macro refactoring via
nexial-macro-update.sh
. - fix error where data variables defined in
project.properties
are not overwritten via base »save(var,value)
. As with this fix, only certain System variables will not be overwritten due to the run time nature of such data variables (e.g.nexial.manageMemory
).
Improvements:
- shell scripts support commandline arguments that contain spaces.
- added execution output html link and more meaningful data to execution result notification mail.
- added preview option(-p) for macro refactor batch file.
Project Inspector
- code fix to
nexial-project-inspector
when the target project does not containproject.properties
- code fix to
nexial-project-inspector
when the target project does not containartifact/bin
directory - adding a bit more project metadata when inspecting project via
nexial-project-inspector
. - support
nexial-macro-update
andnexial-variable-update
batch files from Project Inspector. - slight enhancement to
nexial-project-inspector
to automatically open HTML after script completes. - performance improvement on scanning project artifacts via local cache, which is stored in
$USER_HOME/.nexial/projectCache/$PROJECT_NAME
. - minor output adjustment to improve readability.
- improvement on data variable inspection on commands that take on multiple variable parameters.
System Variables
nexial.io.copyConfig
: provides modes for copying new file to existing file location.
Nexial Expression
- XML Expression
append
: NEW append content to xml document.clear
: NEW clear content of xml document.delete
: NEW delete node from xml document.insertAfter
: NEW insert content after xml document.insertBefore
: NEW insert content after xml document.prepend
: NEW prepend content to xml document.replace
: NEW replace xml node with content from xml document.replaceIn
: NEW replace inside xml content of xml document.
- LIST Expression
- LIST »
sum
: fix the handling of numbers with different floating points. Now Nexial should resolve to the largest (or longest) floating points found during thesum
operation. - LIST »
replaceItem
: fix to support empty item replacement
- LIST »
- WEB Expression: NEW expression for web automation
click(locator)
: This clicks on element specified via locator.deselect(locator,option1,option2,option3...)
: deselects one or multiple options from the listbox.fetchAsCsv(locator1,locator2,locator3...)
: stores the values of web elements specified via locators in CSV formatselect(locator,option1,option2,option3...)
: This selects one or multiple options from the listbox.selectWindow(locator,winId)
: This selects the open tab/window as per thewindows id
or byindex
..text
: transforms the associated Web statement(s) result into plain text.type(locator,value)
: Enters the specifiedvalue
into the first element that matches the specifiedlocator
.typeKeys(locator,value)
: performs keystroke on the element specified vialocator
. For more information,wait(waitMs)
: waits till the desired time(in milli seconds) passed as input parameterwaitMs
- NUMBER Expression:
whole
- renamedround
operation towhole
base commands
macro(file,sheet,name)
: support the reference of macro files from directories other thanartifact/script
.
desktop commands
- code fix to
editTableCells(row,nameValues)
when combo box is not editable (can’t type text in combo box).
io commands
copyFilesByRegex(sourceDir,regex,target)
: copy all files from sourceDir matching specified regex recursively to target location.moveFilesByRegex(sourceDir,regex,target)
: move all files from sourceDir matching specified regex recursively to target location.deleteFilesByRegex(sourceDir,regex)
: delete all files from sourceDir matching specified regex recursively.
rdbms commands
- now supports
CREATE
andDROP
keywords for SQL execution
number commands
whole(var)
- NEW round number as Whole number(Integer)roundTo(var,closestDigit)
- renamedround(var,closestDigit)
command toroundTo(var,closestDigit)
web commands
- new System variable -
nexial.web.scrollIntoView
to reduce additional (and possibly unnecessary)scrollIntoView
automation prior to interacting with an element. This would be applicable to “type”, “typeKeys”, “click” and “double click” commands. - code fix for Electron app where not all Selenium/Webdriver features are supported, particularly
actions
. - code fix for Electron app where
element.clear()
is not really clearing out input value due to registered event handler on the application. In such case, Nexial issue hardBACKSPACE
to compensate the clearing intent. rightClick(locator)
: NEW command to support right click.nexial.web.clearWithBackspace
: NEW System variable to forcefully clear out text input usingBACKSPACE
keystrokes. Default isfalse
(i.e. not enabled).- improved clearing strategy on text input field by first issuing an
END
keystroke and then issuing the appropriate number ofBACKSPACE
.
- improved clearing strategy on text input field by first issuing an
assertElementsPresent(prefix)
: NEW command to assert a series of web elements via their respective locators.saveValues(var,locator)
: NEW command to save value of multiple matching web form elements.
xml commands
insertAfter(xml,xpath,content,var)
: NEW command to insert content after xml document specified viaxpath
insertBefore(xml,xpath,content,var)
: NEW command to insert content before xml document specified viaxpath
replaceIn(xml,xpath,content,var)
: NEW command to replace inside content of an XML document specified viaxpath