我们可以在SoapUI Pro中的Groovy TestStep中使用Java代码吗?

2skhul33  于 8个月前  发布在  Java
关注(0)|答案(3)|浏览(85)

我正处于使用SoapUI Pro学习Groovy的初始阶段。因此,我开始在Groovy Teststep编辑器中编写简单的脚本,如下所示

class Hello {
    static void main(String args[]) {
        log.info("Welcome");
    }
}

当我通过单击SoapUI Pro中的"Run"按钮来执行此脚本时,它会抛出以下错误消息。

    • 错误:**

org. codehaus. groovy. control. MultipleCompilationErrorsException:启动失败:Script16.groovy: 5:意外令牌:[第30栏第5行。static void main(String args [])^org. codehaus. groovy. syntax. SyntaxException:意外令牌:[第30栏第5行。在org。codehaus。太棒了。角AntlrParserPlugin. transformCSTIntoAST(AntlrParserPlugin.java:139)at org. codehaus。太棒了。角AntlrParserPlugin. parseCST(AntlrParserPlugin.java:107)at org. codehaus。太棒了。控制。Source Unit. parse(SourceUnit.java:236)at org. codehaus。太棒了。控制。www.example.com(www.example.java:163)at org. codehaus。太棒了。控制。单位。applyToSourceUnits(applationUnit.java:839)at org. codehaus。太棒了。控制。单位。org上的doPhaseOperation(pageationUnit.java:544)。codehaus。太棒了。控制。单位。processPhaseOperations(processationUnit.java:520)at org. codehaus。太棒了。控制。单位。在groovy中编译(configureationUnit.java:497)。lang。GroovyClassLoader。groovy中的doParseClass(GroovyClassLoader.java:306)。lang。GroovyClassLoader。groovy中的parseClass(GroovyClassLoader.java:287)。lang。GroovyShell。groovy中的parseClass(GroovyShell.java:731)。lang。GroovyShell。在groovy中解析(GroovyShell.java:743)。lang。GroovyShell。parse(GroovyShell.java:770)at groovy. lang。GroovyShell。parse(GroovyShell.java:761)at com.恶意软件soapui。支持。脚本。太棒了。SoapUIGroovyScriptEngine。compile(SoapUIGroovyScriptEngine.java:148)1.callScript16.groovy:5:30: www.example.com 21更多1错误
我不知道我做错了什么,我必须做什么来解决这个问题。
谢谢
卡鲁纳加拉·潘迪

huwehgph

huwehgph1#

Groovy与Java的代码兼容性达到99%。所以你可以在Groovy脚本中直接使用Java。
你的问题是你正在声明一个方法main。在SoapUI Groovy Script步骤中,您不声明方法。你开始写代码。有关更多信息,请参见Groovy documentation
所以你的脚本应该是:

log.info("Welcome");

没有class,没有static void main,只有一个班轮!

pxiryf3j

pxiryf3j2#

你语法不好。
替换:

String args[]

使用:

String[] args

或者简单地说:

args

UPDATE(日志)

MPE被抛出,因为你没有日志字段的声明。尝试添加以下导入:
import groovy.util.logging.Slf4j
并注解@Slf4j注解。参见here。不知道日志是如何与SoapUI一起工作的。

smtd7mpg

smtd7mpg3#

class Hello {
    def log = this.log;
    void main(String[] args) {
        log.info("Welcome");
    }
}

发布:Wed Oct 26 12:22:35 EEST 2016:INFO:欢迎

相关问题