ContributionsMost RecentMost LikesSolutionsRe: ReadyApi 3.64.0 parallel execution Looks like it has something to do with external groovy files. When i compile them into jar and use that in ReadyAPI i do not have the same problems. ReadyApi 3.64.0 parallel execution Since version 3.64.0, the parallel execution of test cases appears to be unreliable for test suites containing approximately 19 test cases. The execution does not freeze or hang; instead, it simply stops progressing after the first test step (which, in my case, is often a Groovy script). I have already compared the vmoptions files between versions 3.62.0 and 3.64.0, but did not identify any relevant differences. A script to batch edit 'Locally Stored Value' boolean true/false def Suite = 'TestSuitename' def tSuite = testRunner.testCase.testSuite.project.getTestSuiteByName(Suite) tSuite.testCaseList.each { Case -> for (prop in Case.getPropertyList()) { prop.setUserSpecific(true) } } Re: How to set "store locally" to default = true (or how to set it via groovy script) Hi, I was also struggling with this but your post has put me on the right track. This works for me: def Suite = '<TestSuitename>' def tSuite = testRunner.testCase.testSuite.project.getTestSuiteByName(Suite) tSuite.testCaseList.each { Case -> for (prop in Case.getPropertyList()) { prop.setUserSpecific(true) } } Simple script to batch edit multiple groovy scripts Question How to batch edit multiple groovy scripts? Here is my solution. Answer import com.eviware.soapui.impl.wsdl.teststeps.WsdlGroovyScriptTestStep def testSuite = 'testsuitename' String textToSearch = """text""" def replacementText = """text""" def tSuite = context.testCase.testSuite.project.testSuites[testSuite] def testcases = tSuite.testCaseList.toArray() testcases.each() {Case -> for( testSteps in Case.testStepList ) { if( testSteps instanceof WsdlGroovyScriptTestStep && testSteps.getScript().contains(textToSearch)) { log.info(Case.getName().toString() + " - " + testSteps.getScript().toString()) String newString = testSteps.getScript().toString().replace(textToSearch, replacementText) testSteps.setScript(newString) } } } Smart assertion: ONLY populate FAILED assertion from received data It would be very helpful to have the option to ONLY populate FAILED assertions from received data in the Smart Assertion. Now it's only possible to populate all data, which results in losing, for example, valid values asserted by property data.