For example, create a properties-file named "properties.txt" containing
test.a.property=hello!
in the soapUI bin folder. Modify the java arguments in the soapUI.batbat/.sh file to be
set JAVA_OPTS=%JAVA_OPTS% -Xms128m -Xmx256m -Dsoapui.properties=properties.txt
Add the following Property-Expansion to a TestRequest, Endpoint, etc...
${test.a.property}
When expanded, the specified properties file will be loaded as shown in the soapUI log:
01:20:05,234 INFO [PropertyExpansionRequestFilter] Loaded 52 properties from [C:\workspace\core\project.properties]
${[scope]propertyName[#xpath-expression]}
where scope can be one of the following literal values:
Nested Properties
soapUI supports both nested and recursive property-expansion (be careful!), for example:
test = "value" testexp = "${test}"
-> "${testexp}" evaluates to "value"
testexp = "value" exp = "${exp}"
-> "${test${exp}}" evaluates to "value"
testxml = "hello" testxpath = "//value[@id=${id}]/text()" id = "123"
-> "${#testxml#${testxpath}}" evaluates to "hello
Groovy Script Library
Specify which folder to use in the soapUI Pro Preferences tab (default is /scripts).Remember that the script files must be valid classes, not just arbitrary scripts. The following example is included with the soapUI Pro distribution, it consists of the following Greet.groovy file that is located in a soapui\demo folder under the default scripts folder:
def greet = new soapui.demo.Greet( "Ole", log )01.
package
soapui.demo
02.
03.
class
Greet
04.
{
05.
def
name
06.
def
log
07.
08.
Greet(who, log)
09.
{
10.
name = who;
11.
this.log = log
12.
}
13.
14.
def
salute() { log.info
"Hello $name"
}
15.
16.
def
static
salute( who, log ) { log.info
"Hello again $who!"
}
17.
}
greet.salute()