nexial-core 2.6 (2019-09-06)
Release 2.6
2019-09-06
General
Fixes
nexial.lastScreenshot: resolved to the fully qualified path (not just the filename). Also, this System variable will resolve to the appropriate URL ifnexial.outputToCloudis set totrue.- Fixed ConcurrentModificationException while shutting down the winium driver.
Improvements
nexial.lastElapsedTime: record the elapsed time (in ms) for the last executed step (regardless of its PASS or FAIL status).nexial.outputToCloud: automatically handles file-based resources so that whennexial.outputToCloudis set to true, local file resources will be pushed to the cloud (and its link on the output xlsx be updated).- Added new column for plan detail and more summarized result in email notification html.
- minor updates to
nexial-projectbatch files to reduce output. - minor improvement to trim directory name before validating its existence or usefulness.
Nexial Interactive
- support “range” specification for activity. Now it is possible to specify
5 1-4to run 1st through 4th activities.
Built-in Functions
$(array): fixed previous erroneous parsing wherearrayis wrapped by{...}and[...]characters.$(array): fixed ascending and descending sorting of numbers.
Nexial Expression
- For TEXT expression, a new System variable,
nexial.expression.resolveUrl, is available to disable the automatic content resolution of HTTP-based resource. This System variable is by default set totrue. - CSV »
parse(configs): usenexial.textDelimas CSV delimiter when none is explicitly specified. - CSV »
merge(csvVariable,refColumn): avoid merging empty or blank rows. - EXCEL »
firstCell(column,regex,maxRows): NEW operation to find the first cell in the specifiedcolumnthat satisfiesregex. - LIST expression: fixed previous erroneous parsing where a list is wrapped between
{...}or[...]characters. - LIST »
ascendingand LIST »descending: fixed ascending and descending sorting of list of numbers.
aws.vision commands
saveText(profile,image,var): NEW command to extract text from an image file. Supports JPG, PNG and GIF at this time. No animated GIF support for now.- support ‘system’ profile to simplify scripting for users using team-wide or company-wide setup
base commands
outputToCloud(resource): fix path resolution to S3 so that the target location mimics local directory structurenexial.assert.lenient: System variable to join multiple lines into one before text assertion. Default istrue.nexial.assert.asNumber: System variable to activate the assertion that treats text1as the same as1.0. This is equivalent to numeric equality assertion. Default istrue.nexial.assert.useTrim: System variable to trim text before assertion. Default isfalse.nexial.assert.caseInsensitive: System variable to assert text case-insensitively. Default isfalse.assertNotContain(text,substring):- renamed from
assertNotContains(text,substring)(grammatically displeasing)
- renamed from
desktop commands
assertElementNotPresent(name): Assert absence of given desktop element.nexial.desktop.useTypeKeys: convert winium shortcut keys to native keystrokes so that thetypeTextBox(...)andtypeTextArea(...)commands can be implemented viatypeKeys(os,keystrokes)internally.
image commands
colorbit(image,bit,saveTo),convert(source,format,saveTo),crop(image,dimension,saveTo): now supportsourceas URL. Nexial will automatically download image content and save it to temporary location (OS-specific). UsesaveToto determine the location of the processed file.resize(image,width,height,saveTo): now supportimageas URL. Nexial will automatically download image content and save it to temporary location (OS-specific). UsesaveToto determine the location of the processed file.saveDiff(var,baseline,actual): now support bothbaselineandactualas URL. Nexial will automatically download image content and save it to temporary location (OS-specific). UsesaveToto determine the location of the processed file.saveDiff(var,baseline,actual): added new System variable to support trimming off empty spaces from images before comparing.nexial.image.trimBeforeDiff:true(default isfalse) to trim off spaces before comparing.nexial.image.trimColor: empty space color to trim off. (default iswhite). Available colors for trimming arered,yellow,blue,green,black,white.
json commands
assertEquals(expected,actual):- fixed inefficient and confusing comparison logic when
expectedandactualdo not have the same nodes or node names. - add new System variable to support CSV and HTML report format:
nexial.json.compareResultsAsJSON:true(default) to generate comparison result as JSON.nexial.json.compareResultsAsCSV:true(default isfalse) to generate comparison result as CSV.nexial.json.compareResultsAsHTML:true(default isfalse) to generate comparison result as HTML.
- fixed inefficient and confusing comparison logic when
localdb commands
importCSV(var,csv,table): code fix to support columns with spaces or commas. Also fixed to support(and)characters in column name.
ws commands
- fixed: handle url that contains “percent-encoding” by avoiding double-encoding error.
web commands
- DeepScan enabled for these commands:
saveTableAsCsv(locator,nextPageLocator,file)saveDivsAsCsv(headers,rows,cells,nextPage,file)saveInfiniteTableAsCsv(config,file)saveInfiniteDivsAsCsv(config,file)- automatically replace newline, carriage return and tab character with a space so that the generated CSV would be usable.
- Use
nexial.web.saveGrid.data.trimto trim leading and trailing spaces of each cell. - Use
nexial.web.saveGrid.end.trimto remove the trailing line feed at the end of the CSV file. - Use
nexial.web.saveGrid.deepScanto control how Nexial should handle form input and image elements found in target<TABLE>or<DIV>elements. - Use
nexial.web.saveGrid.header.inputto determine what metadata of a form input element in the header to save to CSV. Possible choices:name,type,value,id,state. - Use
nexial.web.saveGrid.header.imageto determine what metadata of an image element in the header to save to CSV. Possible choices:type,alt,id,filename. - Use
nexial.web.saveGrid.data.inputto determine what metadata of a form input element in the data section to save to CSV. Possible choices:name,type,value,id,state. - Use
nexial.web.saveGrid.data.imageto determine what metadata of an image element in the data section to save to CSV. Possible choices:type,alt,id,filename. - code fix to properly handle data cell that contains a mix of cell text and form element.
saveDivsAsCsv(headers,rows,cells,nextPage,file): support non-XPATH locators.saveInfiniteDivsAsCsv(config,file)andsaveInfiniteTableAsCsv(config,file):- NEW command to export data from an Infinite Scroll Table (IST) to CSV.
- improved on scanning and data collection logic.
- improved on usability by allowing for configurable
waitBetweenScrollvalue. - supports long running headers that are rendered off-screen.
assertMultiSelect(locator): use to assert the select element support multiple select options.assertSingleSelect(locator): use to assert the select element support single select option.- System variable
nexial.screenshotAsDesktop: NEW System variable to allow for desktop screen capturing instead of browser-scoped screen capturing. screenshot(file,locator,removeFixed: NEW command to capture the graphical rendering of a Web element based on specifiedlocator. Automatically upload screenshot to cloud ifnexial.outputToCloudis set to `true.updateAttribute(locator,attrName,value): support to update the attribute of an element with given value for a specified locator.assertAttributeContains(locator,attrName,contains): supportREGEX:incontainsto trigger regular expression matching.assertAttributeNotContain(locator,attrName,contains):- renamed from
assertAttributeNotContains(locator,attrName,contains)(grammatically displeasing) - support
REGEX:incontainsto trigger regular expression matching.
- renamed from
assertTextNotContain(locator,text):- renamed from
assertTextNotContains(locator,text)(grammatically displeasing)
- renamed from