TraceyK
14 years agoOccasional Contributor
[Resolved] Use Groovy to get test case property
Hi,
I've got a test step that sets a property value to a number. I want to use a Groovy script test step to get the value. But the Groovy script indicates the property value is null. I've verified that the property value is properly set at a value = 1395. Thanks for the help!
Here is the Groovy script:
import com.eviware.soapui.impl.wsdl.testcase.*
import com.eviware.soapui.impl.wsdl.teststeps.WsdlTestRequestStep
import com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner
def file = "./anyTermInfo.txt"
def cmdID = testRunner.testCase.getPropertyValue( "cmdID" )
log.info("============cmdID================= "+ cmdID)
log.info("============file================= "+ file)
if (file.contains(cmdID))
{
println(cmdID)
}
else
{
println("No cmdID in file")
}
Here is the error I'm getting:
16:27:06,307 INFO [log] ============cmdID================= null
16:27:06,307 INFO [log] ============file================= ./anyTermInfo.txt
16:27:06,310 ERROR [SoapUI] An error occured [java.lang.NullPointerException], see error log for details
16:27:06,313 ERROR [SoapUIProTestCaseRunner] Get anyterm url failed, exporting to [C:\Program Files\SmartBear\soapUI-Pro-4.5.1\bin\Functional_HeartBeat_Tests-Rssh_cmd_received_and_logged-Get_anyterm_url-0-FAILED.txt]
java.lang.NullPointerException
at java.lang.String.contains(Unknown Source)
at java_lang_String$contains.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
at Script1.run(Script1.groovy:10)
at com.eviware.soapui.support.scripting.groovy.SoapUIGroovyScriptEngine.run(SoapUIGroovyScriptEngine.java:96)
at com.eviware.soapui.support.scripting.groovy.SoapUIProGroovyScriptEngineFactory$SoapUIProGroovyScriptEngine.run(SourceFile:89)
at com.eviware.soapui.impl.wsdl.teststeps.WsdlGroovyScriptTestStep.run(WsdlGroovyScriptTestStep.java:149)
at com.eviware.soapui.impl.wsdl.support.AbstractTestCaseRunner.runTestStep(AbstractTestCaseRunner.java:238)
at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.runCurrentTestStep(WsdlTestCaseRunner.java:48)
at com.eviware.soapui.impl.wsdl.support.AbstractTestCaseRunner.internalRun(AbstractTestCaseRunner.java:147)
at com.eviware.soapui.impl.wsdl.support.AbstractTestCaseRunner.internalRun(AbstractTestCaseRunner.java:42)
at com.eviware.soapui.impl.wsdl.support.AbstractTestRunner.run(AbstractTestRunner.java:135)
at com.eviware.soapui.impl.wsdl.support.AbstractTestRunner.start(AbstractTestRunner.java:77)
at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCase.run(WsdlTestCase.java:638)
at com.eviware.soapui.tools.SoapUITestCaseRunner.runTestCase(SoapUITestCaseRunner.java:599)
at com.eviware.soapui.SoapUIProTestCaseRunner.runTestCase(SourceFile:198)
at com.eviware.soapui.tools.SoapUITestCaseRunner.runRunner(SoapUITestCaseRunner.java:395)
at com.eviware.soapui.tools.AbstractSoapUIRunner.run(AbstractSoapUIRunner.java:158)
at com.eviware.soapui.tools.AbstractSoapUIRunner.runFromCommandLine(AbstractSoapUIRunner.java:89)
at com.eviware.soapui.SoapUIProTestCaseRunner.main(SourceFile:58)
16:27:06,331 INFO [SoapUIProTestCaseRunner] Finished running soapUI testcase [Rssh cmd received and logged], time taken: 61536ms, status: FAILED
16:27:06,331 INFO [SoapUIProTestCaseRunner] TestCase [Rssh cmd received and logged] finished with status [FAILED] in 61536ms
16:27:06,332 ERROR [SoapUIProTestCaseRunner] java.lang.Exception: TestCase [Rssh cmd received and logged] failed without assertions
16:27:06,332 ERROR [SoapUI] An error occured [TestCase [Rssh cmd received and logged] failed without assertions
], see error log for details
java.lang.Exception: TestCase [Rssh cmd received and logged] failed without assertions
at com.eviware.soapui.tools.SoapUITestCaseRunner.throwFailureException(SoapUITestCaseRunner.java:532)
at com.eviware.soapui.tools.SoapUITestCaseRunner.runRunner(SoapUITestCaseRunner.java:433)
at com.eviware.soapui.tools.AbstractSoapUIRunner.run(AbstractSoapUIRunner.java:158)
at com.eviware.soapui.tools.AbstractSoapUIRunner.runFromCommandLine(AbstractSoapUIRunner.java:89)
at com.eviware.soapui.SoapUIProTestCaseRunner.main(SourceFile:58)
I've got a test step that sets a property value to a number. I want to use a Groovy script test step to get the value. But the Groovy script indicates the property value is null. I've verified that the property value is properly set at a value = 1395. Thanks for the help!
Here is the Groovy script:
import com.eviware.soapui.impl.wsdl.testcase.*
import com.eviware.soapui.impl.wsdl.teststeps.WsdlTestRequestStep
import com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner
def file = "./anyTermInfo.txt"
def cmdID = testRunner.testCase.getPropertyValue( "cmdID" )
log.info("============cmdID================= "+ cmdID)
log.info("============file================= "+ file)
if (file.contains(cmdID))
{
println(cmdID)
}
else
{
println("No cmdID in file")
}
Here is the error I'm getting:
16:27:06,307 INFO [log] ============cmdID================= null
16:27:06,307 INFO [log] ============file================= ./anyTermInfo.txt
16:27:06,310 ERROR [SoapUI] An error occured [java.lang.NullPointerException], see error log for details
16:27:06,313 ERROR [SoapUIProTestCaseRunner] Get anyterm url failed, exporting to [C:\Program Files\SmartBear\soapUI-Pro-4.5.1\bin\Functional_HeartBeat_Tests-Rssh_cmd_received_and_logged-Get_anyterm_url-0-FAILED.txt]
java.lang.NullPointerException
at java.lang.String.contains(Unknown Source)
at java_lang_String$contains.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
at Script1.run(Script1.groovy:10)
at com.eviware.soapui.support.scripting.groovy.SoapUIGroovyScriptEngine.run(SoapUIGroovyScriptEngine.java:96)
at com.eviware.soapui.support.scripting.groovy.SoapUIProGroovyScriptEngineFactory$SoapUIProGroovyScriptEngine.run(SourceFile:89)
at com.eviware.soapui.impl.wsdl.teststeps.WsdlGroovyScriptTestStep.run(WsdlGroovyScriptTestStep.java:149)
at com.eviware.soapui.impl.wsdl.support.AbstractTestCaseRunner.runTestStep(AbstractTestCaseRunner.java:238)
at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.runCurrentTestStep(WsdlTestCaseRunner.java:48)
at com.eviware.soapui.impl.wsdl.support.AbstractTestCaseRunner.internalRun(AbstractTestCaseRunner.java:147)
at com.eviware.soapui.impl.wsdl.support.AbstractTestCaseRunner.internalRun(AbstractTestCaseRunner.java:42)
at com.eviware.soapui.impl.wsdl.support.AbstractTestRunner.run(AbstractTestRunner.java:135)
at com.eviware.soapui.impl.wsdl.support.AbstractTestRunner.start(AbstractTestRunner.java:77)
at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCase.run(WsdlTestCase.java:638)
at com.eviware.soapui.tools.SoapUITestCaseRunner.runTestCase(SoapUITestCaseRunner.java:599)
at com.eviware.soapui.SoapUIProTestCaseRunner.runTestCase(SourceFile:198)
at com.eviware.soapui.tools.SoapUITestCaseRunner.runRunner(SoapUITestCaseRunner.java:395)
at com.eviware.soapui.tools.AbstractSoapUIRunner.run(AbstractSoapUIRunner.java:158)
at com.eviware.soapui.tools.AbstractSoapUIRunner.runFromCommandLine(AbstractSoapUIRunner.java:89)
at com.eviware.soapui.SoapUIProTestCaseRunner.main(SourceFile:58)
16:27:06,331 INFO [SoapUIProTestCaseRunner] Finished running soapUI testcase [Rssh cmd received and logged], time taken: 61536ms, status: FAILED
16:27:06,331 INFO [SoapUIProTestCaseRunner] TestCase [Rssh cmd received and logged] finished with status [FAILED] in 61536ms
16:27:06,332 ERROR [SoapUIProTestCaseRunner] java.lang.Exception: TestCase [Rssh cmd received and logged] failed without assertions
16:27:06,332 ERROR [SoapUI] An error occured [TestCase [Rssh cmd received and logged] failed without assertions
], see error log for details
java.lang.Exception: TestCase [Rssh cmd received and logged] failed without assertions
at com.eviware.soapui.tools.SoapUITestCaseRunner.throwFailureException(SoapUITestCaseRunner.java:532)
at com.eviware.soapui.tools.SoapUITestCaseRunner.runRunner(SoapUITestCaseRunner.java:433)
at com.eviware.soapui.tools.AbstractSoapUIRunner.run(AbstractSoapUIRunner.java:158)
at com.eviware.soapui.tools.AbstractSoapUIRunner.runFromCommandLine(AbstractSoapUIRunner.java:89)
at com.eviware.soapui.SoapUIProTestCaseRunner.main(SourceFile:58)