2017-03-16 131 views
0

我设法执行一个bat文件通过GroovySoapUIRuntime.runtime.exec("cmd /c C:\temp\test.bat")但我想要bat文件在一个名为scripts我的soapui项目文件所在的文件夹中。SoapUI和绝对路径

例子:

Soapui-project file.xml 

-- Scripts 

--- test.bat 

Runtime.runtime.exec("cmd /c Scripts/test.bat")不起作用。我真的需要帮助。

+0

为了使其工作,相对路径必须存在于任何当前工作目录内。你的程序如何知道当前的工作目录是什么? – Squashman

+0

尝试这种 '变形点焊groovyUtils =新com.eviware.soapui.support.GroovyUtils(上下文) DEF PROJECTDIR = groovyUtils.projectPath log.info(PROJECTDIR)' Runtime.runtime.exec(“CMD/C PROJECTDIR脚本/test.bat“) 但是没有工作 – user3624378

+0

你不想使用绝对路径因为它在不同的机器上失败,是吗? – Rao

回答

0

在一个团队中,我们与不同的成员共享项目工件,并且每个人都可以使用不同的目录来复制它们。所以,在这种情况下,如你所提到的,groovy脚本中的绝对路径可能无法工作,如果目录得到改变。

要处理这个问题,路径的前缀应该是可变的。而其余的路径可以固定,因为整个工件仍然不变。

要处理这个问题,请使用下面的项目目录作为根目录并动态获取它。

import com.eviware.soapui.support.GroovyUtils 
def path = new GroovyUtils(context).projectPath 
log.info "Project directory : ${path}" 
Runtime.runtime.exec("cmd /c ${path}/Scripts/test.bat")