You can write scripts in Rational® Integration Tester by using
legacy functions, ECMAScript (such as JavaScript), or a third-party scripting language that you
install.
Rational Integration Tester provides a number of opportunities for dynamic user interaction, including:
- Function actions
- Guard conditions in a message-based stub
- Message cases in Message Switch actions
- Expressions for Assert, Decision, or Iterate While actions
The following topics and sections discuss aspects of these scripting languages:
Add other scripting languages
In addition to ECMAScript, you can customize Rational Integration Tester to use
other scripting languages. The language must provide a .jar archive that implements the Java
Scripting API and that you can embed in the product. For more information about the Java Scripting
API, see the Java Scripting Programmer's Guide.
For example, to add Groovy script to
Rational Integration Tester, complete
the following steps:
- From the Groovy website (http://groovy.codehaus.org/), download the latest stable release.
- Extract the archive file to a local directory.
- Copy the groovy-1.8.6\embeddable\groovy-all-x.x.x.jar file into the
Rational Integration Tester
installation
directory:
rit_installation_directory/jre/lib/ext/
- Restart Rational Integration Tester.
- Groovy appears as an option in the drop-down menu for the Function.
Note: An agent that runs stubs that include Groovy scripts must have the Groovy .jar file on its
class path; otherwise the agent throws a null pointer exception.
Convert legacy functions to ECMAScript
The following rules apply when converting functions to ECMAScript:
- All strings must be enclosed in quotation marks, with appropriate escape sequences:
- Quotation marks within the value of the string must be preceded by a backslash (\")
- Backslashes must be preceded by another backslash (\\)
Example legacy
function:
setTag(testFileName, C:\myfile.txt)
After conversion to
ECMAScript:
setTag("testFileName", "C:\\myfile.txt")
- Replace the null() function with the null keyword.
Example
legacy function:
setTag(testTag, null())
After conversion to
ECMAScript:
setTag(testTag, null)
- Although the setTag() function is still valid in ECMAScript, you can assign
values directly instead:
Example legacy
function:
setTag(testTag, newValue)
After conversion to
ECMAScript:
testTag = "newValue"
or
tags["testTag"] = "newValue"
- Similarly, you can replace the legacy add() function with an
operator:
Example legacy function:
add(%%testTag%%, 1)
After
conversion to ECMAScript:
testTag + 1
- ECMAScript functions do not recognize double percent signs (%%), so when you write a function,
do not enclose the tags in double percent signs as you would in a legacy function. Rational Integration Tester tags are
automatically exposed as ECMAScript local variables.
- In most cases, you can treat the tag name as a local variable:
Example legacy
function:
xpath(%%xml%%, %%xpathString%%)
After conversion to
ECMAScript:
xpath(xml, xpathString)
- Tag names that include symbols or reserved words can cause problems; in those cases use the
tags["tagname"] style of notation.
Same example, after conversion to
ECMAScript:
xpath(tags["xml"], tags["xpathString"])
For more information, see this technote about using
tags with ECMAScript.