首页 > 解决方案 > soapUI Groovy 脚本中的意外标记

问题描述

import com.eviware.sopeui.support.XmlHolder
def addreq=testRunner.testCase.testSuite.testCases["addEmployee"].testSteps["add"].getPropertyValue("Request")  
def name=testRunner.testCase.testSuite.testCases["addEmployee"].getPropertyValue("name")
def id=testRunner.testCase.testSuite.testCases["addEmployee"].getPropertyValue("id")
def dept=testRunner.testCase.testSuite.testCases["addEmployee"].getPropertyValue("dept")
def age=testRunner.testCase.testSuite.testCases["addEmployee"].getPropertyValue("age")
def xmlAdd=new XmlHolder(addReq)
xmlAdd.setNodeValue("//typ:addEmployee/typ:name",name)
xmlAdd.setNodeValue("//typ:addEmployee/typ:id",id)
xmlAdd.setNodeValue("//typ:addEmployee/typ:Department",dept)
xmlAdd.setNodeValue("//typ:addEmployee/typ:age"age)

def newAddXml=xmlAdd.getXml();
log.info newAddXml

org.codehaus.groovy.control.MultipleCompilationErrorsException:启动失败:Script42.groovy:12:意外令牌:年龄@第 12 行,第 48 列。 ue("//typ:addEmployee/typ:age"age) ^ org.codehaus. groovy.syntax.SyntaxException:意外令牌:年龄@第 12 行,第 48 列。在 org.codehaus.groovy.antlr.AntlrParserPlugin.parseCST(AntlrParserPlugin .java:111) 在 org.codehaus.groovy.control.SourceUnit.parse(SourceUnit.java:237) 在 org.codehaus.groovy.control.CompilationUnit$1.call(CompilationUnit.java:167) 在 org.codehaus.groovy .control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:931) 在 org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:593) 在 org.codehaus.groovy.control.CompilationUnit。processPhaseOperations(CompilationUnit.java:569) at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:546) at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:298) at groovy.lang.GroovyClassLoader.parseClass (GroovyClassLoader.java:268) 在 groovy.lang.GroovyShell.parseClass(GroovyShell.java:694) 在 groovy.lang.GroovyShell.parse(GroovyShell.java:706) 在 groovy.lang.GroovyShell.parse(GroovyShell.java:第742章.groovy.SoapUIGroovyScriptEngine.run(SoapUIGroovyScriptEngine.java:87) 在 com.eviware.soapui.impl.wsdl.teststeps.WsdlGroovyScriptTestStep.run(WsdlGroovyScriptTestStep.java:141) 在 com.eviware.soapui.impl。wsdl.panels.teststeps.GroovyScriptStepDesktopPanel$RunAction$1.run(GroovyScriptStepDesktopPanel.java:250) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) 引起:Script42.groovy:12:48: 意外令牌:org.codehaus.groovy.antlr.parser.GroovyRecognizer.argList(GroovyRecognizer.java:6991) 的年龄。 codehaus.groovy.antlr.parser.GroovyRecognizer.methodCallArgs(GroovyRecognizer.java:11988) 在 org.codehaus.groovy.antlr.parser.GroovyRecognizer.pathElement(GroovyRecognizer.java:11567) 在 org.codehaus.groovy.antlr.parser。 GroovyRecognizer.pathExpression(GroovyRecognizer.java:11697) 在 org.codehaus.groovy.antlr.parser.GroovyRecognizer.postfixExpression(GroovyRecognizer.java:13410) 在 org.codehaus.groovy.antlr.parser。GroovyRecognizer.unaryExpressionNotPlusMinus(GroovyRecognizer.java:13379) at org.codehaus.groovy.antlr.parser.GroovyRecognizer.powerExpressionNotPlusMinus(GroovyRecognizer.java:13083) at org.codehaus.groovy.antlr.parser.GroovyRecognizer.multiplicativeExpression(GroovyRecognizer: 13015) 在 org.codehaus.groovy.antlr.parser.GroovyRecognizer.shiftExpression(GroovyRecognizer.java:9921) 在 org.codehaus.groovy 的 org.codehaus.groovy.antlr.parser.GroovyRecognizer.additiveExpression(GroovyRecognizer.java:12685) .antlr.parser.GroovyRecognizer.relationalExpression(GroovyRecognizer.java:12590) 在 org.codehaus.groovy.antlr.parser.GroovyRecognizer.equalityExpression(GroovyRecognizer.java:12514) 在 org.codehaus.groovy.antlr.parser.GroovyRecognizer.regexExpression (GroovyRecognizer.java:12462) 在 org.codehaus.groovy.antlr.parser.GroovyRecognizer。andExpression(GroovyRecognizer.java:12430) at org.codehaus.groovy.antlr.parser.GroovyRecognizer.exclusiveOrExpression(GroovyRecognizer.java:12398) at org.codehaus.groovy.antlr.parser.GroovyRecognizer.inclusiveOrExpression(GroovyRecognizer.java:12366)在 org.codehaus.groovy.antlr.parser.GroovyRecognizer.logicalAndExpression(GroovyRecognizer.java:12334) 在 org.codehaus.groovy.antlr.parser.GroovyRecognizer.logicalOrExpression(GroovyRecognizer.java:12302) 在 org.codehaus.groovy.antlr .parser.GroovyRecognizer.conditionalExpression(GroovyRecognizer.java:4956) 在 org.codehaus.groovy.antlr.parser.GroovyRecognizer.assignmentExpression(GroovyRecognizer.java:8122) 在 org.codehaus.groovy.antlr.parser.GroovyRecognizer.expression(GroovyRecognizer .java:10061) 在 org.codehaus.groovy.antlr.parser.GroovyRecognizer.expressionStatementNoCheck(GroovyRecognizer.java:8449) 在 org.codehaus.groovy.antlr.parser.GroovyRecognizer.statement(GroovyRecognizer.java:1278) 在 org.codehaus.groovy 的 org.codehaus.groovy.antlr.parser.GroovyRecognizer.expressionStatement(GroovyRecognizer.java:8995) .antlr.parser.GroovyRecognizer.compilationUnit(GroovyRecognizer.java:760) 在 org.codehaus.groovy.antlr.AntlrParserPlugin.transformCSTIntoAST(AntlrParserPlugin.java:134) ... 20 更多 1 错误

标签: groovygroovy-console

解决方案


错误消息说明出了什么问题以及错误所在的行号:

unexpected token: age @ line 12, column 48. ue("//typ:addEmployee/typ:age"age) ^ org.codehaus.groovy.syntax.SyntaxException: unexpected token: age @ line 12...

你错过了一个,

xmlAdd.setNodeValue("//typ:addEmployee/typ:age"age)
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^

推荐阅读