【问题标题】:Why I am getting Unexpected token error while automating REST API in SOAP UI using Groovy为什么在使用 Groovy 在 SOAP UI 中自动执行 REST API 时出现意外令牌错误
【发布时间】:2020-07-27 12:13:38
【问题描述】:

这是我正在使用的脚本:

import.groovy.json.JsonSlurper

def response==messageExchange.response.responseContext

def json = new JsonSlurper().parseText(response)

assert context.FirstTestCase().getPropertyValue("contractNumber")==json.results[3].object

我得到的结果:

org.codehaus.groovy.control.MultipleCompilationErrorsException: 启动失败:Script3.groovy:1:意外令牌:import @ line 1, 第 1 列. import.groovy.json.JsonSlurper ^ org.codehaus.groovy.syntax.SyntaxException:意外令牌:导入@ 第 1 行,第 1 列。在 org.codehaus.groovy.antlr.AntlrParserPlugin.transformCSTIntoAST(AntlrParserPlugin.java:223) 在 org.codehaus.groovy.antlr.AntlrParserPlugin.parseCST(AntlrParserPlugin.java:191) 在 org.codehaus.groovy.control.SourceUnit.parse(SourceUnit.java:233) 在 org.codehaus.groovy.control.CompilationUnit$1.call(CompilationUnit.java:189) 在 org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:966) 在 org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:626) 在 org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:602) 在 org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:579) 在 groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:323) 在 groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:293) 在 groovy.lang.GroovyShell.parseClass(GroovyShell.java:677) 在 groovy.lang.GroovyShell.parse(GroovyShell.java:689) 在 groovy.lang.GroovyShell.parse(GroovyShell.java:725) 在 groovy.lang.GroovyShell.parse(GroovyShell.java:716) 在 com.eviware.soapui.support.scripting.groovy.SoapUIGroovyScriptEngine.compile(SoapUIGroovyScriptEngine.java:136) 在 com.eviware.soapui.support.scripting.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) 在 java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) 在 java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) 在 java.base/java.lang.Thread.run(Thread.java:835) 引起: Script3.groovy:1:1:意外令牌:导入 org.codehaus.groovy.antlr.parser.GroovyRecognizer.statement(GroovyRecognizer.java:1331) 在 org.codehaus.groovy.antlr.parser.GroovyRecognizer.compilationUnit(GroovyRecognizer.java:666) 在 org.codehaus.groovy.antlr.AntlrParserPlugin.transformCSTIntoAST(AntlrParserPlugin.java:214) ... 20 更多 1 错误

【问题讨论】:

    标签: groovy automation soapui web-api-testing rest


    【解决方案1】:

    多余的字符

    我在脚本中发现了两个错误。

    1. 额外的'.'在第 1 行
    2. 第 3 行额外的“=”

    第 1 行应该是 import.groovy,但你有 import..groovy

    第 3 行应该是 def response=,但你有 def response==

    【讨论】:

    • 谢谢特里,但这个解决方案不起作用。我发布的结果表明错误在脚本的第 1 行。而且我无法复制它出现的原因。
    • 我的代码中没有''import..groovy"。脚本以正确的方式编写。欢迎任何其他解决方案。
    • 它在代码的第一行:import.groovy.json.JsonSlurper。您需要删除“。”在“导入”和“常规”之间。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-08
    • 2018-05-08
    • 2013-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-02
    相关资源
    最近更新 更多