Contributions
Re: 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, Marek3KViews0likes0CommentsRe: 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, Marek10 years agoPlace ReadyAPI QuestionsReadyAPI Questions1.7KViews0likes2CommentsRe: Accessing setup and teardown scripts using groovy
Hi Aks, try following scripts: testRunner.testCase.getSetupScript() testRunner.testCase.getTearDownScript() testRunner.testCase.setSetupScript("setup script") testRunner.testCase.setTearDownScript("teardown script") Regards, Marek1.6KViews0likes1CommentRe: [Resolved] Incorrect names of TestSuites in element.order
Hi 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, Marek10 years agoPlace ReadyAPI QuestionsReadyAPI Questions2KViews0likes0CommentsRe: Get all test step properties from groovy
Oh 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, Marek10 years agoPlace ReadyAPI QuestionsReadyAPI Questions9.9KViews1like0CommentsRe: Get all test step properties from groovy
Hi, 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, Marek10 years agoPlace ReadyAPI QuestionsReadyAPI Questions9.9KViews0likes0CommentsRe: Getting the submit error message from assertions
Hi 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, Marek737Views0likes0CommentsRe: set a variable = to system time/date stamp
Hi 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, Marek10 years agoPlace ReadyAPI QuestionsReadyAPI Questions15KViews1like0CommentsRe: Looping until desired response
Hi, 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, Marek10 years agoPlace ReadyAPI QuestionsReadyAPI Questions4.9KViews0likes0Comments