nexial-core 3.7 (2021-03-01)
Release 3.7
2021-03-01
General
Fixes
- fixed Excel output so that only the first 500 characters will be stored for the parameter values.
Configurable via
nexial.maxConsoleDisplay. - logic fix when dealing with nested steps in macro
System Variable
- deprecated
nexial.desktopNotifyWaitMsin favor ofnexial.desktop.notifyWaitMsfor consistency.
Nexial Interactive
- support inspection and basic step-by-step automation for desktop application:
DESKTOP(xpath)to inspect desktop element by XPATH.DESKTOP(xpath) => clickto click on a desktop element by XPATH.DESKTOP(xpath) => doubleclickto double click on a desktop element by XPATH.DESKTOP(xpath) => type(text)to type on a desktop element by XPATH.DESKTOP(name)to inspect desktop element by a component name in the current form.DESKTOP(name) => clickto click on a desktop element by a component name in the current form.DESKTOP(name) => doubleclickto double click on a desktop element by a component name in the current form.DESKTOP(name) => type(text)to type on a desktop element by a component name in the current form.DESKTOP(app) => menu(label,label,...)to simulate the activation of menu/menus via label/labels. For example,DESKTOP(app) => menu(File,Open)DESKTOP(xpath) => context(label,label,...)to trigger context on a desktop element.DESKTOP(name) => context(label,label,...)to trigger context on a desktop element.
- minor improvement on console output for Inspect.
Expression
- EXCEL »
renameSheet: NEW operation to rename worksheet. - LIST »
removeMatch(match): NEW operation to remove from aLISTthe items that match the specifiedmatchcriteria. - LisT »
item(indices): support multiple indices (to concatenate specified items into 1 text) and the use ofrandomto randomly select one of the available item. - TEXT »
removeRegex(regex): Now supports multi-line text and case-insensitive pattern matching. - TEXT »
removeLine(match): PolyMatcher-based operation to remove one or more lines from a TEXT expression.
desktop commands
- General Improvements:
- enhanced support for “older” applications that require (or prefer) ASCII-based key mapping, especially for function
and control keys such as
{BACKSPACE}and{ESCAPE}. Setnexial.desktop.useAsciiKeytotrueto enable this feature. - added
[CONTEXT]key map to support shortcut key for context menu (Windows only). - improved keyboard automation by utilizing Winium’s internal “shortcut” script.
- additional support for “FormattedTextbox” to avoid data type conversion issue.
- post-edit validation now will performance numeric comparison if both before-edit and after-edit value can be
converted into number. For example,
100.00would be considered as100. - logic to avoid double “clear field” action; minor speed improvement.
- improvement on the repeated typing over the same component:
- One can now use
[ctrl-end]to append text to the end of existing text. - Nexial automatically translate newline as
[ENTER]. - Also some performance improvements. This impact the following commands:
typeTextArea(name,text1,text2,text3,text4)typeTextBox(name,text1,text2,text3,text4)
- One can now use
waitForLocator(locator,maxWaitMs): code fix to continue waiting for specified element until specified time out.
- enhanced support for “older” applications that require (or prefer) ASCII-based key mapping, especially for function
and control keys such as
- NEW commands to perform double click.
clickMenuByLocator(locator,menu): NEW command to trigger application menu via alocator.- support the triggering of menu via the index of the target menu item (use
INDEX:prefix) in combination with the use of menu label. For example,File,INDEX:2,Open Last....
- support the triggering of menu via the index of the target menu item (use
- NEW commands to trigger context menu (i.e. right-click) on a desktop element:
contextMenuByLocator(locator,menu)contextMenu(name,menu)- support the triggering of context menu via index (prefix with
INDEX:) in combination with menu item label. For example,File,INDEX:2,Open Last....
- NEW commands capture the screenshot of the specified element:
- Autoscanning Improvements:
- improves autoscanning process with better support for Infragistics 4 components.
- support the use of data variable in the “Aut” section of “application.json”.
- support for special/rare case of Combo box component containing only Radio component(s).
nexial.desktop.autoscan.verbose: NEW System variable to enable console logging during autoscanning.- capture component name as label for Tab element.
- support “deeper” scanning of Tab items in case they are not placed directly underneath a Tab element.
- additional support for Infragistics 4 components:
- support the use of TreeView-based datagrid on the
table-related commands such asassertTableRowContains(row,contains),saveAllTableRows(var,csv)andeditTableCells(row,nameValues). - support various types of Combo via common set of
combo-related commands:selectCombo(name,text): supports “single-select”, “multi-select” and “type-ahead” combo boxesassertSelected(name,text): supports “single-select”, “multi-select” and “type-ahead” combo boxes
- support the use of TreeView-based datagrid on the
- Improved Data Grid Support
- code fix to use the correct driver script for grid data edits.
- performance improvement over the editing of data grid and fetching of data from a data grid.
- performance improvement over the reading of data grid content.
- added data grid to CSV support for the following commands (useful for further data processing):
- support PolyMatcher: for the following commands:
- Improved Radio/Check support
assertChecked(name): supports both Checkbox and Radio component.assertNotChecked(name): supports both Checkbox and Radio component.saveText(var,name): support “CheckBox” and “Radio” component so that checked state would result inTrueas its text, andFalseif such component is unchecked.saveTextByLocator(var,locator): support “CheckBox” and “Radio” component so that checked state would result inTrueas its text, andFalseif such component is unchecked.
excel commands
renameSheet(file,worksheet,newName): NEW command to rename worksheet.
localdb commands
importCSV(var,csv,table): fix code to support headers with special characters and data with single quote (now escaped).
web commands
dragAndDrop(fromLocator,toLocator):- updated to support Angular/Material-based tree node components.
- updated to support native mouse event, which is required when start of a drag-and-drop event also trigger drastic changes to the underlying DOM structure.
dragTo(fromLocator,xOffset,yOffset):- updated to support native mouse event, which is required when start of a drag-and-drop event also trigger drastic changes to the underlying DOM structure.