26 September 2007 - 1.7.6 |
soapUI Pro 1.7.5 introduces the possibility to have a central library of Groovy Classes that can be accessed from any script within soapUI, which can be usefull for centralizing common tasks/functionality and for creating soapUI extensions. Use as follows;
Remember that the script files must be valid classes, not just arbitrary scripts.. see example below.
The following example is included with the soapUI Pro distribution, it consists of the following Greet.groovy file that is located in the default scripts folder:
package soapui.demo class Greet { def name def log Greet(who, log) { name = who; this.log = log } def salute() { log.info "Hello $name" } def static salute( who, log ) { log.info "Hello again $who!" } }
If we create a Groovy Script Step in a TestCase, we can use the above class with the following:
def greet = new soapui.demo.Greet( "Ole", log ) greet.salute()
Running this from within the Groovy Editor will show (roughly) the following in the Groovy Editors log:
Wed Jun 27 01:36:14 CEST 2007:INFO:Hello Ole
We can also call the static salute method:
soapui.demo.Greet.salute( "Ole", log )
Which will produce the following output:
Wed Jun 27 01:36:14 CEST 2007:INFO:Hello again Ole!
If we now modify the above Greet.groovy file and change the first salute method to include an exclamation mark at the end, soapUI will pick up the modified file (once it has been saved), which is seen in the soapUI log:
Wed Jun 27 01:39:20 CEST 2007:INFO:C:\workspace\soapui-pro\scripts\Greet.groovy is new or has changed, reloading...
And now when we rerun our initial script we get;
Wed Jun 27 01:40:16 CEST 2007:INFO:Hello Ole!