nexial-core 1.8 (2019-01-04)
Release 1.8
2019-01-04
General
Fixes:
- rename some System variables so that their name are prefixed with
nexial.
to avoid conflicts. - ensure that macro/section expansion won’t inadvertently merge passed the “ignored” section.
- update code on macro handling logic; no longer cache macro steps in support of Nexial Interactive. Performance impact should be minimal.
- fixed GMail mail support due to namespace conflict in mail configuration.
- propagate data variable changes between iterations.
- fix on reading Excel cells that contain value other than STRING.
- reduce undesirable runtime errors.
- better handling of invalid or malformed test scenarios.
Improvements:
- improved support for XML/HTML during data variable substitution.
- minor stylistic updates to artifact templates.
- minor improvement on expanding the column width of
#data
worksheet during output generation. - update execution output on “SKIPPED” test steps (description is now italicized).
- sort
#data
worksheet on the execution output to favor System variables over user-defined variables. - improve the fatal error reporting in execution output.
- add
[nexial]
prefix to mail subject in mail notification. - major improvement in memory footprint by applying aggressive memory conservation after each iteration and script execution.
- speed up batch script executions (
bin/*.sh
) for Mac/*NIX. - improved output formatting for
nexial-variable-update
utility batch.
New:
- Step Disabling:
- support skipping of command via “strikethrough”: Use
Ctrl-5
on a “command” column to skip over the corresponding test step. This effectively add aSkipIf(true)
flow control to the corresponding “flow controls” column. UseCtrl-5
again to enable the corresponding test step. - supported on test script, macro and test plan.
- overwriting instead of appending
SkipIf(true)
to any existing flow control.
- support skipping of command via “strikethrough”: Use
bin/nexial-project.cmd|sh
:- automatically create
.meta/project.id
under the target project directory to identify each project. This manifest file can be useful (in the future) for tracking and comparison purpose. - create additional script/data files into existing project directory, without overwriting existing artifacts.
- automatically create
- HTML Output:
- NEW HTML execution output aimed to consolidate all execution summary within 1 HtML page. Should be most helpful for plan-driven execution or iteration-laden execution.
- automatically opens execution output HTML when
nexial.openResult
is set totrue
.
System Variables:
nexial.lastOutputLink
: NEW System variable to capture the location of the last output file (only generated via certain commands).nexial.scope.refetchDataFile
: NEW System variable to preserve data variable changes between iteration.- if data file is to be re-fetched, then Nexial now correctly fetch the correct data file.
nexial.executionCount
: NEW System variable to indicate the number of steps executed in real-time.nexial.executionSkipCount
: NEW System variable to indicate the number of steps skipped in current execution in real-time.nexial.executionPassCount
: NEW System variable to indicate the number of steps passed in current execution in real-time.nexial.executionFailCount
: NEW System variable to indicate the number of steps failed in current execution in real-time.os.hostname
: NEW System variable to expose the host name of current test harness.
Event Notification
- now supports conditional event notification via
nexial.notifyOn...If
data variables:
Nexial Expression
nexial.expression.OpenFileAsIs
: NEW System variable to instruct Nexial on omitting data variable substitution during the opening of external file during the evaluation of a Nexial expression.
Nexial Interactive
- now supports reloading of
project.properties
(option:9
) - improved support for iteration. Data is re-calibrated when iteration changed during a Nexial Interactive session.
- improved support for script/data file (re)loading. When a script or data file is (re)loaded, the activity assignment is re-calibrated as well to account for possible step or activity changes.
- improved support for assigning activities: use
*
to assign all available activities from the assigned scenario. - improved support for assigning steps: use
*
to assign all available steps from the assigned scenario. - improved support for assigning activities: use activity indices (digits) instead of activity names. Note: Use
A
to reset back to all activities.
Nexial Filter
- new unary filter to simplify boolean filter conditions.
Built-in Function
$(execution|meta|user)
: NEW function to reveal execution-time user$(syspath)
: now supportsplan
as well.
aws.s3 commands
- support AWS Assume Role” during credential challenge. Now it is possible to include the switching of a AWS IAM role as part of your automation. This feature is available for all integrated AWS services, which is thus far S3 and SES. For more information, read the Granting a User Permissions to Switch Roles.
aws.ses commands
- support AWS Assume Role” during credential challenge. Now it is possible to include the switching of a AWS IAM role as part of your automation. This feature is available for all integrated AWS services, which is thus far S3 and SES. For more information, read the Granting a User Permissions to Switch Roles.
base commands
saveVariablesByPrefix(var,prefix)
: NEW command to save all variable names withprefix
as a list tovar
.saveVariablesByRegex(var,regex)
: NEW command to save all variable names that matchregex
as a list tovar
.
excel commands
- major improvement in memory footprint by applying aggressive memory conservation after
writeDown(file,worksheet,startCell,array)
,writeAcross(file,worksheet,startCell,array)
,write(file,worksheet,startCell,data)
andwriteVar(var,file,worksheet,startCell)
.
image commands
compare(baseline,actual)
: increase the thickness of the highlighting border to improve readability.- increase thread stack size to support comparison of larger images.
io commands
searchAndReplace(file,config,saveAs)
: NEW command to search/replace through the content offile
via the name/value pair found inconfig
.
json command
- fixed json array parsing logic when its textual representation contains whitespace.
web commands
- improved CrossBrowserTesting support:
- now with execution status reporting (at the end of execution).
- now support automation on mobile devices (Android and iOS).
- delay safari window resizing (same as on BrowserStack).
- automatically download/update/execute CrossBrowserTesting local executable.
- additional logging added.
- no switching of window when automating against mobile devices.
- code fixes to handle CrossBrowserTesting local download changes (URL changes).
- configurable wait time (millisecond) after CrossBrowserTesting local has been initiated, to allow sufficient time to stabilize the executable.
- configuration wait time can now be set to
auto
(default) for Nexial to determine most appropriate time to proceed with test automation. - support updating of execution status per browser use within same execution. It is now possible to configure via
cbt.reportStatus
when the execution status update should occur -iteration
,script
,execution
. - execution status update now accompanied with description (in CBT, description is shown in “Notes and Tags” section).
- improved BrowserStack support:
- support updating of execution status per browser use within same execution. It is now possible to configure via
nexial.browserstack.reportStatus
when the execution status update should occur:iteration
,script
,execution
.
- support updating of execution status per browser use within same execution. It is now possible to configure via
- support mobile device emulation when automating on chrome browser (locally).
- shipped with Selenium v3.141.59. Significant changes include:
- Restored remoteHost support
- Implement
WrapsElement
bySelect
element wrapper (#6616) - Default the number of threads assigned to the server to 200, which is what it was in 3.13.0
- code fix to prevent unnecessary loading of web driver.
xml commands
storeValues(xml,xpath,var)
: code fix to appropriately handle attribute values.assertValues(xml,xpath,array,exactOrder)
: code fix to appropriately handle attribute values.