nexial-core 3.6 (2021-01-21)
Release 3.6
2021-01-22
General
Fixes
- fixed “quiet mode” (
nexial.quiet
) so that console logs will be drastically reduced. - correctly read
nexial.mail.smtp.from
from command line or nexial-setup. nexial-setup
: backward supports for older Java (version 8-15).- fixed code not to fire “fail” event when evaluating an assert command within
repeat-until
to evaluate the continuation of a loop. - fixed minor coding issue when updating a step result when its corresponding parameter(s) resolve to a link.
- fix output for
step
andstep.inTime
commands to capture user input. - fix
step
andstep.inTime
commands for repeated use within an Interactive session.
Improvements
project.properties
: supports environment-specific project.properties via runtime environment variablenexial.env
.- when environment-specific project.properties is specified, the default
project.properties
will be loaded first
- when environment-specific project.properties is specified, the default
- minor log reformatting to improve readability.
- PolyMatcher: NEW expressive comparison technique to perform inexact text comparison. Currently supports
REGEX:
for regular expression based matching,CONTAIN:
andCONTAIN_ANY_CASE:
for partial text matching,START:
andSTART_ANY_CASE:
for “starts-with” text matching,END:
andEND_ANY_CASE:
for “ends-with” text matching. Will be added to more commands and expressions in the future.- now supports
EXACT:
syntax for “equality matching”.
- now supports
- adding logging for clarity
System Variable
nexial.io.matchRecursive
: NEW System variable to determine if Nexial should scan recursively the target directory when invoking io »saveMatches(var,path,fileFilter,textFilter)
.- also impacts io »
count(var,path,pattern)
.
- also impacts io »
nexial.io.matchExact
: NEW System variable to determine if the regex-based matching logic should match “partially” or “exactly”. Usetrue
to perform match. Default isfalse
. This impact the following commands:
Expression
- LIST »
index(item)
: now supports PolyMatcher.
Function
$(format|phone|text)
: improvement to accept phone number with non-numeric characters such as-
,.
,(
and)
.
base commands
assertMatch(text,regex)
: now supports PolyMatcher.
desktop commands
clickMenu(menu)
: avoid unnecessary error when clicking on a menu item.- support the use of
{DEL}
as an alternate/shortcut to{DELETE}
.
json commands
assertValue(json,jsonpath,expected)
: supports PolyMatcher for inexact/expressive text comparison.
macro commands
expects(var,default)
: fixed logic to use default when specifiedvar
has no value.
mail commands
compose(var,config,value)
: support adding new files as attachments, instead of replacing them.clearComposed(var)
: no longer cause FAIL when specified variable is not found.
rdbms commands
assertResultMatch(var,columns,search)
: supports PolyMatcher for inexact/expressive text comparison.assertResultNotMatch(var,columns,search)
: supports PolyMatcher for inexact/expressive text comparison.
ssh commands
- added additional logging for better RCA
web commands
- instructs chrome browser not to show “Save Password” prompt during automation.
- instructs firefox browser not to show “Save Password” prompt during automation.
assertText(locator,text)
: supports PolyMatcher for inexact/expressive text comparison.assertValue(locator,value)
: supports PolyMatcher for inexact/expressive text comparison.assertAttribute(locator,attrName,value)
: supports PolyMatcher for inexact/expressive text comparison.assertNotText(locator,text)
: supports PolyMatcher for inexact/expressive text comparison.deselectMulti(locator,array)
: supports PolyMatcher for inexact/expressive text comparison.select(locator,text)
: supports PolyMatcher for inexact/expressive text comparison.selectMulti(locator,array)
: supports PolyMatcher for inexact/expressive text comparison.assertCssPresent(locator,property,value)
: supports conversion of HEX color to RGBA form.- geo location support via
nexial.browser.geolocation
. - geo location faking via
nexial.browser.geolocation.longitude
andnexial.browser.geolocation.latitude
webalert commands
- allow
nexial.lastAlertText
to be removed during automation.
tn.5250 commands
- implement retry logic when scanning for nested screen
- support PolyMatcher for inexact/expressive text comparison:
assertFieldMatch(label,expects)
assertFieldNotMatch(label,expects)
assertMessageMatch(expects)
assertMessageNotMatch(expects)
assertTableMatch(column,text)
assertTableNotMatch(column,text)
assertTitle(expects)
saveTableMatchCount(var,column,text)
typeOnMatchedColumns(matches,keystrokes)
typeOnMatchedRow(column,match,keystrokes)
waitUntilTextPresent(text,maxWaitMs)
: NEW command to wait until specified text is found on current TN5250 screen.waitUntilTitlePresent(title,maxWaitMs)
: NEW command to wait until specified text is found on current TN5250 screen title.waitUntilMessagePresent(message,maxWaitMs)
: NEW command to wait until specified text is found on current TN5250 status message.inspectScreen()
: add pre-fetch wait time (1.5second) prior to render TN5250 screen data.