SoapUI和Groovy:如何从命令行调用编译的jar文件?

时间:2014-03-18 17:59:37

标签: java groovy soapui

我正在编写一个测试,要求我一次执行一个java文件。 Java文件已经编译,我无权访问源代码或文档。

我知道如果我打开一个命令提示符并通过输入以下命令来执行该文件:" java -jar someFile.jar - someOptions"然后我需要完成的步骤正确执行。

我尝试过groovy脚本

def output = "java -jar someFile.jar - someOptions".execute().text
log.info output

然而,这只是给我一个空的日志条目。

我不确定问题是java是否需要一些时间来执行(它涉及服务器调用),因此在我尝试记录输出之前输出尚未写入字符串。

我也不确定脚本是否可以看到.jar文件。我把它放在我的\ bin \ ext文件夹中。但是我也需要这个测试与操作系统无关,所以我真的对代码中的硬编码路径犹豫不决。

2 个答案:

答案 0 :(得分:1)

试试这个:

def command = "java -jar someFile.jar - someOptions"
def process = command.execute()
process.waitFor()

def output = process.in.text
log.info ouput

使用waitFor(),因为您希望该过程完成。

答案 1 :(得分:0)

您可以将SoapUI指向jar文件所在的位置,并在测试启动时对其进行编译。这应该让你从一个groovy步骤

调用已编译的文件