Forum Discussion
Hi,
You can access any public scope properties on SoapUI objects e.g. Projects, TestCases using Groovy scripts etc.
Some examples are:
Accessing the project name from within a Groovy TestStep:
testRunner.testCase.testSuite.project.name
A bit more complicated example again from within a Groovy TestStep:
import com.eviware.soapui.impl.wsdl.WsdlInterface
myInterface = (WsdlInterface) testRunner.testCase.testSuite.project.getInterfaceByName("SampleServiceSoapBinding")
myOperation = myInterface.getOperationByName("login")
myRequest = myOperation.getRequestByName("Request 1")\
These snipets were taken from http://www.soapui.org/scripting---properties/tips---tricks.html
You may find the API docs helpful in working out methods/properties that you can call http://www.soapui.org/apidocs/index.html
Is this what you meant?
Cheers,
Rupert
I must be missing something here. I have read through the docs quite intensively and I also tried the suggested code snippets, but when I enter a code-snippet like
def name = testRunner.testCase.testSuite.project.name
into the script assertion entry field and then execute that I get an error "can not call testCase on a null-object". So, the object "testRunner" seems undefined or null.
The other usage that my question was referrring to:
there is the option to define an assertion by using the "Contains" option and then enter a string that has to be contained in the response into the input fields.
These strings can contain "placeholders" like "...${#Project#some_property}..." or "...${#TestCase#other_property}..." etc.. However, that machanism seems to work only with user definable customer properties. If I enter the project property "${#Project#Name}" here or ${#Project#Service} or ${#Project#Endpoint} or any other default property's name) I get an error only. What name or prefix do I need to use for the Project/Test Suite/Test Case/Test Step's default properties?