Properties & Groovy Scripting in SoapUI

Definition:

Properties are central repository to store our information. A property is a named string value that can be accessed from a script.

There are two types of properties in SoapUI, namely, Default Properties and Custom (User-Defined) Properties.

Types of Properties:

Custom Default Properties:

These are the sets of properties which comes by default with every SoapUI. We can change the values of these properties (but not in every case) and consume as and when needed.

Custom Properties:

These are the properties which user defines as per requirements. It can be used as a temporary storage for validating the end result of tests.

Also, in SoapUI definitions of properties are at multiple levels like Projects, Test Suites, Test Cases, Test Steps and Global Properties. Now, we shall look at each one of these in detail.

Levels of Properties:

  • Project Properties:

Project properties are the properties which are associated with the current project. This property can accessed by all the subsets like test suite, test case, test step, script of the project.

Project Properties

Below are the Groovy scripts to get and set properties from project:

//get property
def projectProperty = testRunner.testcase.testsuite.project.getPropertyValue(“projectProperty”)
//set property
testRunner.testCase.testSuite.project.setPropertyValue(“projectProperty”, value)

Test Suite Properties:

Test suite property specifies the properties associated with the current test suite. This property can be used by its subsets like test case, test step and script of test suite.

Test Suite

Groovy scripts to get and set properties from Test Suite:

//get property
def testSuiteProperty = testRunner.testcase.testsuite.getPropertyValue(“suiteProperty”)
//set property
testRunner.testCase.testSuite.setPropertyValue(“suiteProperty”, value)

Test Case Properties:

Specify the properties associated with the current test case. It can be used by test step and script of the test cases.

Test Case Properties

Groovy scripts to get and set properties from Test Case:

//get property
def testCaseProperty = testRunner.testcase.getPropertyValue(“caseProperty”)
//set property
testRunner.testCase.setPropertyValue(“caseProperty”, value)

Test Step Properties:

Test step properties specify the properties associated with the current test step. It can be used by its subsets like test step, property transfer and script of the test steps.

Test Step Properties

Groovy scripts to get and set properties of Test Steps:

//get property
def testStepProperty = testRunner.testcase.testStep.getPropertyValue(“stepProperty”)
def myteststep = testcase.getTestStepAt(IndexNumber)
def teststep = TestCase.getTestStepByName(“Name of the Step”)
//set property
testRunner.testCase.testStep.setPropertyValue(“stepProperty”, value)

Global Properties:

Global properties define the properties associated with installed version of soapui. These properties can be accessed across the project, test suites, test cases and so on.

Global Properties

Groovy scripts to get and set properties from Global:

//get property
def globalProperty = com.eviware.soapui.SoapUI.globalProperties.getPropertyValue(“GlobalProperty”)
//set property
Com.eviware.soapui.SoapUI.globalProperties.setPropertyValue(“GlobalProperty”, value)

Conclusion:

Properties are helpful for transferring the data between the test steps such as test suites , test steps and test cases. Property can be defined through groovy script. Also, we can assign and retrieve data of the properties through the groovy script.

comments
0