ContributionsMost RecentMost LikesSolutionsRe: Sort REST resources by name Hi, this might be related to following issue in SmartBear's internal tracker: SOAP-883 and also to this topic: http://community.smartbear.com/t5/SoapUI-NG/Moving-and-copying-Child-resources/m-p/36066 I know that pinkasey is talking about ordering and the topic above about moving/copying, I just wanted to put it on your radar, since at this moment, resources aren't very flexible in neither way and both these ideas have improvements on it. Thanks Regards, Marek Re: Query - why two ways to create holder object ? Hi Suraj, I'm not sure if this is 100% correct, this is just my understanding: Both options are calling constructors in this class: https://www.soapui.org/apidocs/com/eviware/soapui/support/XmlHolder.html but the 1st option is invoking this one -XmlHolder(Stringxml) the 2nd is calling this -XmlHolder(PropertyExpansionContextcontext, StringpropertyRef) The second option is creating object of this class: https://www.soapui.org/apidocs/com/eviware/soapui/support/GroovyUtils.html and then calling this method: getXmlHolder(StringxmlPropertyOrString) Therefore this String: "Request 1#Response" can be parsed into 2 params - Request 1 and Response so it could be used in the constructor with 2 params. The advantage is that you can specify TestStep (only in your current TestCase) and its property and the XmlHolder will create the holder from it. An example to understand it: it much more simplier to write this -def holder = groovyUtils.getXmlHolder( "Request 1#Response" ) instread of this -def holder = new XmlHolder(testRunner.testCase.testSteps["Request 1"].getPropertyValue("Response")) You can still usegroovyUtils's holder as follows: groovyUtils.getXmlHolder(messageExchange.responseContentAsXml) To sum up, thegroovyUtils's holder is giving you more options to create the actual xml holder. Does it make sense to you? Regards, Marek Re: Where is 5.1.1?Hi dale2k9, development of the free version stopped at version 5.0.0. Version 5.1 and higher are available only in Pro version of SoapUI. Regards, MarekRe: Accessing setup and teardown scripts using groovyHi Aks, try following scripts: testRunner.testCase.getSetupScript() testRunner.testCase.getTearDownScript() testRunner.testCase.setSetupScript("setup script") testRunner.testCase.setTearDownScript("teardown script") Regards, MarekRe: [Resolved] Incorrect names of TestSuites in element.orderHi Marcus, good point. I'm using Pro 5.0.0 and reported this when 5.1.0 wasn't out. Now when 5.1.0 is available, this isn't a problem. The new naming convention for TestSuites and TestCases fixed this problem, so can mark it as Closed/Rejected. Thanks, MarekRe: Get all test step properties from groovyOh ok, try this script: //Get properties from all TestSteps in current TestCase for (testStep in testRunner.testCase.getTestStepList()){ if (testStep.getPropertyCount() > 0){ for (prop in testStep.getPropertyList()){ log.info(testStep.getName() + " has property " + prop.getName()) } } else{ log.info(testStep.getName() + " doesn't have properties!") } } //Get properties from one specific TestStep def testStep = testRunner.testCase.testSteps["XXX"] if (testStep.getPropertyCount() > 0){ for (prop in testStep.getPropertyList()){ log.info(testStep.getName() + " has property " + prop.getName()) } } else{ log.info(testStep.getName() + " doesn't have properties!") } Regards, MarekRe: Get all test step properties from groovyHi, could you be, please, more specific? You mean all properties in all TestSteps in your project/TestSuite/TestCase or all properties in your Properties TestStep? Regards, MarekRe: Getting the submit error message from assertionsHi klusht, you can access the error log via this script: import com.eviware.soapui.SoapUI def errLog = SoapUI.getLogMonitor().getLogArea("error log") def errLogModel = errLog.model if (errLogModel.getSize() > 0){ for (i in 0..errLogModel.getSize() - 1){ log.info(errLogModel.getElementAt(i)) } } else{ log.info("No errors were thrown!") } Regards, MarekRe: set a variable = to system time/date stampHi Naveen, to your question in the screenshot - if I'm not wrong, that's the timestamp when the TestStep was submitted. Well, you can add it to a Groovy TestStep, but that might not give you the exact time. Better solution would be a custom event handler, more info here: http://www.soapui.org/Scripting-Propert ... dlers.html Here you can handle this timestamp - you can use DataSink TestStep or Groovy script to write it to Excel. P.S. Looking at my previous comment, it looks like I made a mistake - the correct format for the time part should be "HH:mm:ss", because "ss" represents seconds and "SS" represents miliseconds - I apologize for that. Regards, MarekRe: Looping until desired responseHi, if you're looking for loop in specific time period, try and amend this script to reflect your requirements: Integer maxTime = 180 Integer elapsedTime = 0 Integer delay = 5 boolean isStatusChanged = false //Loop until the status is still the same or the max. time isn't exceeded //Check the status every 5 seconds while (elapsedTime < maxTime){ if (status != "11"){ isStatusChanged = true testRunner.gotoStepByName("Next Step") break } Thread.sleep(delay * 1000) elapsedTime += delay } //If max. time was exceeded and the status is still the same, go to DataSource TestStep in order to generate next row if (!isStatusChanged){ testRunner.gotoStepByName("DataSource") } Regards, Marek