2011-11-10 14 views
3

今、私はtestscriptが(3-10)台のリモートコンピュータ(SSHといくつかのもの)を接続しなければならないプロジェクトに取り組んでいます。 私はpexpectを使い始めました。これはボタンとして簡単です。それはうまく動作します。異なるウィンドウでpexpectを出力

私はテスト中の通信を見たいです。ログを画面にリダイレクトすることは可能です。しかし、この場合、ログ(別のコンピュータから)は混在しています。 私が望むのは、新しいスポーンオブジェクトごとに新しい端末ウィンドウ(またはコンソールなど)を開くことです。この場合、私は異なるウィンドウですべてのコミュニケーションを見ることができました。さらに、すべてのウィンドウでspawn.interact()の可能性を維持したいと思います。 どういうわけか可能だと思っていますが、どうすればいいのか分かりません。私はいくつかのファイルポインタ(またはパイプ)は何とか新しいウィンドウに渡すべきだと思いますか? (SecureCRTはこのようなsometihngを知っていて、タブ付きのコンソールウィンドウを持っていて別々にアクセスできますが、商用製品です)

または問題をよりシンプルにしましょう。私はこれを行う た場合、私は新しいウィンドウに新しいシェルを開くことができます。

p=Popen(["cygstart", "bash"])

どのように私は読んで、この新しいウィンドウでそれを見て私のスクリプト(親)からこのシェルに書き込むことができますか?

あなたが正しい方向に向けることができれば、本当にありがとうと思います。

誰かがこのような問題を見つけなかったので、(Google上で)何を読んだり見つけたらよいか教えてもらえれば十分です。 環境はcygwinです。事前に

おかげ

BR:DRV

+0

私はこれが非常に古かったことを知っていますが、今までこれを稼働させましたか?私は基本的にこの正確なことをする必要があります。 –

答えて

0

あなたはログファイルのパラメータを使用してみましたか?関連を見つけるために、「ログファイル」のhttp://pexpect.sourceforge.net/pexpect.html 検索:

child = pexpect.spawn('some_command') 
mylog = open('/tmp/mylog','w') 
child.logfile = mylog 

これは自動的に)あなたが(spawn.interactを呼び出した後に入力したコマンドを含め、ファイルにウェブサイト上で利用可能

詳細情報をすべての通信を記録しますドキュメンテーション。

関連する問題