SoapUI offen used scripts
【 Groovy Step 】 //get properties from testCase, testSuite and project in groovy step def testCaseProperty = testRunner.testCase.getPropertyValue( "MyProp" ) // testCase property def testSuiteProperty = testRunner.testCase.testSuite.getPropertyValue( "MyProp" ) // testSuite property def projectProperty = testRunner.testCase.testSuite.project.getPropertyValue( "MyProp" )//project property // set properties to testCase,testSuite and project in groovy step testRunner.testCase.getProperty("MyProp").setValue("MyValue"); // set testCase property testRunner.testCase.setPropertyValue("MyProp","MyValue"); testRunner.testCase.testSuite.getPropertyValue( "MyProp" ).setValue("MyValue"); // set testSuite property testRunner.testCase.testSuite.setPropertyValue("MyProp","MyValue"); testRunner.testCase.testSuite.project.getPropertyValue( "MyProp" ).setValue("MyValue"); // set project property testRunner.testCase.testSuite.project.setPropertyValue("MyProp","MyValue"); // get the response content String responseStr = testRunner.testCase.testSteps["MyStep"].testRequest.response.contentAsString; // convert the response content to JSON format
import groovy.json.JsonSlurper; JsonSlurper slurper = new JsonSlurper(); Object responseObj = slurper.parseText(responseStr); // run another test step under current test case testRunner.runTestStepByName("MyStep"); // run another test step under another test case
import com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner; def testcase = testRunner.testCase.testSuite.project.testSuites["MyTestSuite"].getTestCaseByName("MyTestCase"); WsdlTestCaseRunner runner = new WsdlTestCaseRunner( testcase,null ); runner.runTestStepByName("AnotherStep"); 【 Script Assertion 】 def number = messageExchange.modelItem.testCase.testSteps["Properties"].getPropertyValue("userId") def testCaseProperty = messageExchange.modelItem.testCase.getPropertyValue("MyProp"); def testSuiteProperty = messageExchange.modelItem.testCase.testSuite.getPropertyValue("MyProp"); def projectProperty = messageExchange.modelItem.testCase.testSuite.project.getPropertyValue("MyProp"); // project property can be also like: def projectProperty = messageExchange.modelItem.project.getPropertyValue("MyProp"); def projectProperty = context.expand('${#Project#MyProp}'); // 注意,用双引号貌似会出错 def testSuiteProperty = context.expand('${#TestSuite#MyProp}'); // get the response content def responseContent = messageExchange.responseContent; // get the response content and convert to JSON format def jsonObj = net.sf.json.JSONSerialize.JSONSerializer.toJSON(messageExchange.responseContent);