About
Groovy scripts can be used in virtual services for many purposes such as forming and dispatching virtual responses, asserting incoming requests, and many more. For details, see Virtual Service Scripting.
The editors support all the standard features of ReadyAPI scripting editors such as property expansions, code validation, and code templates.
Script objects
Below is a list of the default objects that are available in the virtual service script editors:
Object | Description |
---|---|
context |
Provides a scripting interface to the virtual service, responses and virtual service runner. Use the context.properties collection to store properties related to the service. |
log |
Includes methods and properties for posting messages to the Script log (to view this log, click Logs in the bottom left corner of the ReadyAPI window and switch to the Script log tab). You use this for debugging and logging purposes: to post and view data in the log. |
message |
Used in JMS virtual services. Provides a scripting interface to the JMS message body and headers. |
mockOperation |
Corresponds to a virtual operation. Provides a scripting interface to the virtual response and request data, assertions, dispatch settings and other properties. |
mockRequest |
Provides a scripting interface to the incoming request. Use methods and properties of this object to get query string, port, headers, body, and other data. |
mockResponse |
Provides a scripting interface to the virtual response data defined in a virtual service for a response. You can use responseContent of this property, for example, to change the response data before the virtual service sends the response to a client. |
mockResult |
Provides a scripting interface to the entire message exchange procedure: request, response and assertion results. |
mockRunner |
Provides a scripting interface to the virtual service runner. You can use methods of this object to stop the current service. |
requestContext |
Provides a scripting interface to the request context. Use the requestContext.properties collection to store request-related properties. |
You can see methods and properties of these objects on the Code Completion list. To invoke it, type the object name and press Ctrl+Space.
Object reference
To learn more about an object, find it in the API docs. API docs describe the internal structure of ReadyAPI; however, the names of objects used in the scripting editors are not necessarily the same as the names in the internal structure of ReadyAPI. To find an object in the documentation:
-
Use the
getClass()
method that every object in ReadyAPI has to find the class name. -
Post the result to the Script Log using the
log.info()
method.
For example, for the context
object the script will look like this:
Groovy
log.info(className);
Examples
You can find examples of virtual service scripts in the Virtual Service Scripting topic.
See Also
Script Editors
Testing with Virtual Services
Virtual Service Scripting