当前位置: 首页 > 知识库问答 >
问题:

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

纪正德
2023-03-14

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

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

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

错误:

nit.java:544AntlrParserPorg.codehaus.groovy.control.CSTIntoAST(AntlrParserPnit.compile)在nit.java:497AntlrParserPgroovy.lang.CST(AntlrParserPoader.do)在oader.java:306SourceUgroovy.lang.(SourceUoader.parse)在oader.java:287CompilationUnit$1.call(CompilationUnit.java:163)在org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:839)在org.codehaus.groovy.control.CompilationUnit.doPhaseAction(CompilationUorg.codehaus.groovy.control.)在cript16.groovyCompilationUorg.codehaus.groovy.syntax.PhaseAction(CompilationUorg.codehaus.groovy.antlr.)在lugin.transformCompilationUlugin.java:139(CompilationUorg.codehaus.groovy.antlr.)lugin.parseGroovyClassLlugin.java:107ParseClass(GroovyClassLorg.codehaus.groovy.control.)nit.parseGroovyClassLnit.java:236(GroovyClassLorg.codehaus.groovy.control.)SoapUIProGroovyScriptEngineFactory$SoapUIProGroovyScriptEngineering. run(SourceFile: 89)在com. eviware. soapui. imp. wsdl. teststeps。WsdlGroovyScriptTestStep. run(WsdlGroovyScriptTestStep. java: 149)在com. eviware. soapui. imp. wsdl. panels. teststeps。GroovyScriptStepDesktop面板$RunAction1美元. run(GroovyScriptStepDesktopPanel. java: 274)在java. util. conflow。java. util. conflow的ThreadPoolExecitor. runWorker(未知来源)。java. lang的ThreadPoolExecitor$Worker. run(未知来源)。线程. run(未知来源)起因:Script16. groovy:5:30:意外代币:[at org. code

我不知道我做错了什么,也不知道为了解决这个问题我必须做些什么。

谢谢Karunagara Pandi

共有3个答案

刘明朗
2023-03-14
class Hello {
    def log = this.log;
    void main(String[] args) {
        log.info("Welcome");
    }
}

外出: 2016年10月26 12:22:35日星期三: INFO:欢迎

王弘和
2023-03-14

你语法不好。

替换:

String args[]

与:

String[] args

或者简单地说:

args

更新(日志)

MPE被抛出,因为您没有日志字段的声明。尝试添加以下导入:

导入groovy。util。登录中。Slf4j

并注释@Slf4j注释。另请参阅此处。不知道日志记录如何与SoapUI完全配合使用。

田文景
2023-03-14

Groovy与Java有99%的代码兼容性。因此,您可以在Groovy脚本中使用直接Java。

您的问题是您正在声明一个方法main。在SoapUI Groovy脚本步骤中,不声明方法。您只需开始编写代码。有关更多信息,请参阅Groovy文档。

因此,您的脚本应该是:

log.info("Welcome");

没有,没有静态空main,只有那一个衬里!

 类似资料:
  • 问题内容: 我知道Python提供了API,因此您可以在C代码中调用Python解释器,但是我想要的却是相反的。 我的程序需要使用一些C API,所以代码必须用C编写。但是我也想用Python打包程序。这意味着我想在Python中调用这些C函数或可执行文件。那可能吗? 如果我希望C代码成为一个库,这意味着我将它与Python 中的可能的链接一起使用,该怎么做?那可能吗?如果我将C代码写入可执行文件

  • 本文向大家介绍我们可以在Java中使用throw语句后编写任何代码吗?,包括了我们可以在Java中使用throw语句后编写任何代码吗?的使用技巧和注意事项,需要的朋友参考一下 不,我们不能在throw 语句后放置任何代码,这会导致编译时错误Unreachable Statement。 Java中的Throw关键字 的关键字throw用于手动抛出异常。 每当需要根据用户定义的逻辑错误或条件挂起功能执

  • 问题内容: 我想将node js用作react native项目中的后端。 问题答案: 是的,您 可以 通过正确使用Big Rich的ReactNativify 来 使用为Node编写的包。但是要考虑一些事项: 1)我遵循在问题清单中找到的建议,并分为两部分: Transformers.js(在和中调用): babel-transformer.js(也在): 2)如您在上面的代码中所见,我还演示了

  • 正如我们所知,没有任何规定可以防止多个线程使用方法调用方法。我确实创建了两个对象和都调用同一个线程来运行。 我需要在第二个对象开始执行之前,通过调用线程来确保第一个对象完成()其执行。 我的问题是为什么我不能在我创建的线程(即)中使用关键字? 我尝试在我创建的线程中使用“同步”来运行()方法,但它给出了任意输出(换句话说,不等待完成执行)。 你可以在程序的最底层看到我得到的输出。 正如您所看到的,

  • 问题内容: 如果我有一个包含的列表,并且想编写一个迭代器,以便对以’a’开头的元素进行迭代,那么我可以编写自己的迭代器吗?我怎样才能做到这一点 ? 问题答案: 当然。迭代器只是接口的实现。如果您使用中的现有可迭代对象(例如),则需要对其进行子类化并覆盖其功能,以便返回自己的对象,或者提供一种在特殊实例中包装标准迭代器的方法(具有被更广泛使用的优势)等。

  • 本文向大家介绍我们可以在MySQL中使用ORDER BY NULL吗?,包括了我们可以在MySQL中使用ORDER BY NULL吗?的使用技巧和注意事项,需要的朋友参考一下 是的,我们可以做到 注–在MySQL 5.7之前,ORDER BY NULL很有用,但在MySQL 8.0中,例如,最后不需要指定ORDER BY NULL以抑制隐式排序。 让我们首先创建一个表- 使用插入命令在表中插入一些