-1
我正在使用SoapUI來測試web服務。我的客戶端運行Windows 7,服務器在Linux上運行。對於某些測試用例,我需要在遠程服務器上更改配置文件。我想用一個時髦的腳本來實現這一點。第一步是用scp(kscp)推送文件,第二步是通過ssh(kitty)重新啓動應用程序。在Groovy和SoapUI無法正常工作的情況下調用cmd
第一個命令不起作用。第二就好了。我究竟做錯了什麼?
def scp = Runtime.getRuntime().exec("C:/pathTo/kscp.exe -pw password fileToUpload.txt [email protected]:/pathTo/remoteLocation/")
scp.waitFor()
def ssh = Runtime.getRuntime().exec("C:/pathTo/kitty.exe -load profile -m C:/pathTo/scriptToBeRunOnRemote")
ssh.waitFor()
如果我在一個普通的cmd中執行第一個命令,它可以正常工作。我也嘗試從.bat文件運行相同的命令,但沒有成功。
在此先感謝您的幫助和提示!
EDIT(發現的解決方案)
我只是找到了解決辦法。
def scp = Runtime.getRuntime().exec("cmd /c cd C:/pathTo/ & kscp.exe -pw password fileToUpload.txt [email protected]:/pathTo/remoteLocation/")
*不起作用* - *沒有成功* - 意味着什麼?它做什麼呢?錯誤信息?截圖? –
最有可能的權限問題 –
@MartinPrikryl沒有工作/沒有成功意味着什麼都沒有發生。如果我「log.info(scp)」輸出是一個沒有任何錯誤的進程ID。但該文件尚未轉移。 權限問題在哪裏發生?這兩個.exe文件都在我擁有完全權限(沒有管理員權限)的同一目錄中,並且服務器文件夾權限應該是正常的,因爲當我使用常規Windows cmd時該命令有效(並且正在傳輸文件)使用相同的命令 – TheZeroNine