2017-03-16 103 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")