testing - soapUI: How to access Test Step property from assertion script? -


i'm new soapui , groovy, experienced java programmer.

i created testcase 2 test steps:

  1. properties step called cid single property correlationid , value ${=java.util.uuid.randomuuid()}.
  2. test request put <correlationid>${correlationid}</correlationid> in request.

it works , submits unique correlationid value every time run tests.

now want add new script assertion test step 2 (test request) compares computed correlationid property value test step 1 (cid) data test step 2 response. problem can not seem able access generated value of correlationid there.

if try this: log.info "${correlationid}"

i get: no such property: correlationid class: script19

if try this: log.info "${cid#correlationid}"

i get:

startup failed: script43.groovy: 1: unexpected char: '#' @ line 1, column 16.    log.info "${cid#correlationid}"                   ^ org.codehaus.groovy.syntax.syntaxexception: unexpected char: '#' @ line 1, column 16.    @ org.codehaus.groovy.antlr.antlrparserplugin.transformcstintoast(antlrparserplugin.java:97)    @ org.codehaus.groovy.antlr.antlrparserplugin.parsecst(antlrparserplugin.java:71)    @ org.codehaus.groovy.control.sourceunit.parse(sourceunit.java:236)    @ org.codehaus.groovy.control.compilationunit$1.call(compilationunit.java:158)    @ org.codehaus.groovy.control.compilationunit.applytosourceunits(compilationunit.java:814)    @ org.codehaus.groovy.control.compilationunit.dophaseoperation(compilationunit.java:511)    @ org.codehaus.groovy.control.compilationunit.processphaseoperations(compilationunit.java:487)    @ org.codehaus.groovy.control.compilationunit.compile(compilationunit.java:464)    @ groovy.lang.groovyclassloader.doparseclass(groovyclassloader.java:306)    @ groovy.lang.groovyclassloader.parseclass(groovyclassloader.java:287)    @ groovy.lang.groovyshell.parseclass(groovyshell.java:727)    @ groovy.lang.groovyshell.parse(groovyshell.java:739)    @ groovy.lang.groovyshell.parse(groovyshell.java:766)    @ groovy.lang.groovyshell.parse(groovyshell.java:757)    @ com.eviware.soapui.support.scripting.groovy.soapuigroovyscriptengine.compile(soapuigroovyscriptengine.java:148)    @ com.eviware.soapui.support.scripting.groovy.soapuigroovyscriptengine.run(soapuigroovyscriptengine.java:93)    @ com.eviware.soapui.impl.wsdl.teststeps.assertions.basic.groovyscriptassertion.assertscript(groovyscriptassertion.java:116)    @ com.eviware.soapui.impl.wsdl.teststeps.assertions.basic.groovyscriptassertion.internalassertresponse(groovyscriptassertion.java:133)    @ com.eviware.soapui.impl.wsdl.teststeps.wsdlmessageassertion.assertresponse(wsdlmessageassertion.java:156)    @ com.eviware.soapui.impl.wsdl.teststeps.wsdltestrequest.assertresponse(wsdltestrequest.java:189)    @ com.eviware.soapui.impl.wsdl.teststeps.wsdltestrequest.setresponse(wsdltestrequest.java:159)    @ com.eviware.soapui.impl.wsdl.teststeps.wsdltestrequeststep.run(wsdltestrequeststep.java:346)    @ com.eviware.soapui.impl.wsdl.testcase.wsdltestcaserunner.runteststep(wsdltestcaserunner.java:207)    @ com.eviware.soapui.impl.wsdl.testcase.wsdltestcaserunner.internalrun(wsdltestcaserunner.java:138)    @ com.eviware.soapui.impl.wsdl.testcase.wsdltestcaserunner.internalrun(wsdltestcaserunner.java:39)    @ com.eviware.soapui.impl.wsdl.support.abstracttestrunner.run(abstracttestrunner.java:135)    @ java.util.concurrent.executors$runnableadapter.call(unknown source)    @ java.util.concurrent.futuretask$sync.innerrun(unknown source)    @ java.util.concurrent.futuretask.run(unknown source)    @ java.util.concurrent.threadpoolexecutor$worker.runtask(unknown source)    @ java.util.concurrent.threadpoolexecutor$worker.run(unknown source)    @ java.lang.thread.run(unknown source) caused by: script43.groovy:1:16: unexpected char: '#'    @ org.codehaus.groovy.antlr.parser.groovylexer.nexttoken(groovylexer.java:695)    @ org.codehaus.groovy.antlr.parser.groovylexer$1.nexttoken(groovylexer.java:248)    @ groovyjarjarantlr.tokenbuffer.fill(tokenbuffer.java:69)    @ groovyjarjarantlr.tokenbuffer.la(tokenbuffer.java:80)    @ groovyjarjarantlr.llkparser.la(llkparser.java:52)    @ org.codehaus.groovy.antlr.parser.groovyrecognizer.nls(groovyrecognizer.java:780)    @ org.codehaus.groovy.antlr.parser.groovyrecognizer.openorclosableblock(groovyrecognizer.java:8848)    @ org.codehaus.groovy.antlr.parser.groovyrecognizer.stringconstructorvaluepart(groovyrecognizer.java:13449)    @ org.codehaus.groovy.antlr.parser.groovyrecognizer.stringconstructorexpression(groovyrecognizer.java:11932)    @ org.codehaus.groovy.antlr.parser.groovyrecognizer.primaryexpression(groovyrecognizer.java:11091)    @ org.codehaus.groovy.antlr.parser.groovyrecognizer.argumentlabel(groovyrecognizer.java:10863)    @ org.codehaus.groovy.antlr.parser.groovyrecognizer.commandargument(groovyrecognizer.java:10756)    @ org.codehaus.groovy.antlr.parser.groovyrecognizer.commandarguments(groovyrecognizer.java:10173)    @ org.codehaus.groovy.antlr.parser.groovyrecognizer.expressionstatement(groovyrecognizer.java:8948)    @ org.codehaus.groovy.antlr.parser.groovyrecognizer.statement(groovyrecognizer.java:1258)    @ org.codehaus.groovy.antlr.parser.groovyrecognizer.compilationunit(groovyrecognizer.java:650)    @ org.codehaus.groovy.antlr.antlrparserplugin.transformcstintoast(antlrparserplugin.java:93)    ... 31 more  1 error 

how can access correlationid computed value assertion groovy script?

thank you

the problem approach if access property, dynamic , uuid different each time read value of property.

instead replaced properties test step setup script of test case:

uuid = context.expand('${=java.util.uuid.randomuuid()}') testrunner.testcase.setpropertyvalue("correlationid", uuid) 

each time test case executes, new uuid generated. future test steps may access static test case level property.

in test request use:

<correlationid>${#testcase#correlationid}</correlationid> 

in script assertion use:

correlationid = context.expand('${#testcase#correlationid}') 

thanks unhandled soapui forums.


Comments

Popular posts from this blog

apache - Add omitted ? to URLs -

redirect - bbPress Forum - rewrite to wwww.mysite prohibits login -

php - How can I stop spam on my custom forum/blog? -