ショートバージョン:ループでPopenを行うと徐々にログを取得できますか?Maven出力(またはコマンドラインログ)をPythonでどのように使うことができますか?
ロングバージョン:
私は、コマンドラインでbatファイル持っていた:
mvn clean -Dtest=LoadTest test
pause
を私はPythonスクリプトでこのバットを追加しました:
import os
from subprocess import Popen
os.chdir("../../../../tests")
for i in range(0,3):
Popen(script.bat)
はしかし、そうではありませんバットとパイソンを入れていいのですが、間違っていますか? だから、私はPythonスクリプトでMavenのコマンドを追加するためにテスト:
import os
from subprocess import Popen
os.chdir("../../../../tests")
for i in range(0,3):
cmd= "mvn clean -Dtest=LoadTest test"+str(i)
Popen(cmd, shell=True)
が働いているようです。しかし、私は、私が試したCMD
のような...ログを好きwhould:私のコマンドは、私は負荷テストを行うことができないので、上にあるときに
import os
from subprocess import Popen, PIPE, STDOUT
os.chdir("../../../../tests")
for i in range(0,3):
cmd= "mvn clean -Dtest=LoadTest test"+str(i)
Popen(cmd, shell=True)
p = Popen(cmd, shell=True, stdin=PIPE, stdout=PIPE, stderr=STDOUT)
output = p.stdout.read()
print (output)
しかし、それはログを印刷します。 ログを徐々にCMDに似せることは可能ですか?
バットと同じように、CMDを開いてコマンドラインを設定できますか?これは私の役に立つかもしれません。
編集:私は私のコードでは、あまりにも
cmd= "clean -Dtest=LoadTest test"+str(i) > LogTest.txt"
ログファイルを追加しようとしました、それが実行をブロックしています。パラレルでもできますか?
ありがとうございました!