0

次の問題があります。testcompleteテストを実行するbatファイルを入手しました。testcompleteでテストが終了すると、アプリが閉じて終了コードがバットに返されます。まだbatファイルにresultというtxtファイルを作成し、終了コードに応じて成功、失敗などを書き込みます。Windows7でそのbatファイルを実行すると、テストが実行され、終了した後にresult.txtが表示されます。ファイルに必要な情報が表示されます。しかし、Javaコードからこれと同じbatファイルを実行するだけの場合:

Process p1 = Runtime.getRuntime().exec(batch);

テストが終了した後、ファイルは表示されません。これを正常に機能させる方法はありますか?何を変更すればよいですか?

スクリプトコードはそのようなものではありません:

@ECHO OFF
"...\Bin\TestComplete.exe" "sometext.pjs" /r 
/p:sometext PathToApp="sometext.jnlp" Login=ads Password=ass  /t:"sometext|sometext" /exit 
IF ERRORLEVEL 3 GOTO CannotRun
IF ERRORLEVEL 2 GOTO Errors
IF ERRORLEVEL 1 GOTO Warnings
IF ERRORLEVEL 0 GOTO Success

:CannotRun
ECHO The script cannot be run >> "result.txt"
GOTO End

:Errors
ECHO There are errors >> "result.txt"
GOTO End

:Warnings
ECHO There are warnings >> "result.txt"
GOTO End

:Success
ECHO No errors >> "result.txt"
GOTO End

:End
4

2 に答える 2

0

のオーバーロードされたバージョンを使用して、作業ディレクトリを指定する必要があると思いますexec:

exec(String command, String[] envp, File dir)

于 2011-07-28T09:38:22.113 に答える
0

もう 1 つのことは、常にプロセスの InputStream を読み取る必要があるということです。そうしないと、プロセスがハングする可能性があります。

于 2011-07-28T09:46:05.023 に答える