Nexial Automation

Test Automation Platform for everyone!

X

nexial-core 1.6 (2018-10-08)

Release 1.6

2018-10-08

General

  • upgraded to Kotlin 1.2.70
  • upgraded to nexial-seeknow-1.2. Supports sikulix-1.1.3.
  • support default output directory via environment variable NEXIAL_OUTPUT
  • support “ignored variable” via NEW System variable nexial.var.ignored.
  • code fix to support newer version of WPS (post-execution to open result automatically)
  • prevent open results in CI/CD env.
  • configurable JVM max memory via NEXIAL_MAX_MEM environment variable.
  • exclude empty log files as links in execution summary
  • include data variables specified via JAVA_OPT in execution summary
  • (Linux/MacOSX only) store the batch file used to execute Nexial in the execution output directory. Good for troubleshooting.
  • prevent runtime error when WPS is selected as the spreadsheet program and the execution is conducted on Mac/Linux.
  • fixed error regarding iteration data when nexial.fallbackToPrevious is set to false. Now Nexial correctly resolves data variable in the appropriate iteration definition, as specified in the data sheet.

Nexial Filter

  • ` not contain : **NEW** filter to support the ${…}` not contain “…” filter.
  • ` not start with : **NEW** filter to support the ${…}` not start with “…” filter.
  • ` not end with : **NEW** filter to support the ${…}` not end with “…” filter.

Built-in Function

  • $(array|length): added logic to compensate for web element array with characters that might be misinterpreted as array delimiter. Now it should be safe/correct to issue:
    web | saveElements(var,locator) | MyList | //div
    number | assertEquals(num1,num2) | 53 | $(array|length|${MyList})
  • $(execution|step): added new built-in function param to have step level metadata like activity, description, command etc.
  • $(format|base64decode|text) - base64 decode text.
  • $(format|base64encode|text) - base64 encode text.

Nexial Expression

  • [LIST(...) => count]: added logic to compensate for web element array with characters that might be misinterpreted as array delimiter. Now it should be safe/correct to issue: web | saveElements(var,locator) | MyList | //div
    number | assertEquals(num1,num2) | 53 | [LIST(${MyList}) => count]
  • [EXCEL(...) => csvWithHeader]: convert a contiguous cell range (from Excel worksheet) to a CSV where the first range is treated as header.
  • [EXCEL(...) => json(firstRowAsHeader)]: convert a contiguous cell range (from Excel worksheet) to a JSON where the first range may be treated as header to impact the output JSON structure.
  • save() operation now supports appending content to existing file.
  • XML expression updated with new operations:
    • attribute(xpath,name) - retrieves the value of name attribute from the element(s) that matched the specified xpath. If exactly one match is found, this operation returns a TEXT data type. If more than one matches are found, a LIST data type is returned instead.
    • content(xpath) - retrieves the content of the element(s) that matched the specified xpath. If exactly one match is found, this operation returns a TEXT data type. If more than one matches are found, a LIST data type is returned instead.
    • count(xpath) - counts the number of elements present at the specified xpath.
    • extract(xpath) - transform current XML document using xpath.
    • remove(xpath) - remove from the source XML the element(s) that matches the specified xpath.
    • store(var) - save current XML expression to a data variable.  If the specified var exists, its value will be overwritten.  Using this operation, one can put an expression on pause and resume it at a later time.
    • text - transform current XML document into its textual representation.
    • updateAttribute(xpath,name,value) - also known as update-attribute(xpath,name,value). This operation updates the attribute of all matched elements based on name and value. If value is empty, then the target attributes are effectively removed.
    • updateContent(xpath,content) - also known as update-content(xpath,content). This operation updates ( technically speaking, replace) the content of the matched elements with the specified content. content may be text or XML nodes. If content is empty, then the content of the target elements are effectively removed.
  • TEXT expression
    • base64decode - base64 decode text.
    • base64encode - base64 encode text.

base commands

  • saveCount(text,regex,saveVar): NEW command to save the number of matches (based on regex) found in text.
  • add code to automatically shut down screen recording at the end of an execution.

desktop commands

  • code fix to get text from the disabled combo type element.

excel commands

io commands

json command

rdbms command

  • fixed the issue of resolving SQL variable name that defined in the SQL file per statement.

step commands

  • [observe(prompt)] now supports error capturing. Use FAIL as the beginning of your response to mark a step as FAIL.

web commands