2012-04-12 18 views
0

私は閉ループソースのWindows XP GUIベースをいくつか測定しています。クローズドソースのWindows XP GUIベースのプログラムとのやりとりの自動化

私の現在の手動ワークフローは次のとおりです。

  1. はGUI
  2. に「実行」ボタンをクリックすることで、データの取り込みを開始、停止GUI上で「停止」ボタンを押して、データの取り込み。
  3. 画面に表示される値を確認してください。
  4. セッションのデータをファイルに保存します。

あり、この全体の相互作用を自動化するために何のライブラリやAPIはありませんので、私はそれを手動で行うが、noオプションをしたん:(と私はそれのうんざりだ!

あなたは明確に、このアプローチを見るように

私はこの相互作用を自動化する方法があるのだろうと思っていましたか?はいの場合、私の選択肢は何ですか?私は時間がかかるだけでなくエラーが発生しやすくなります。 PythonやJavaで何かを実装する方が好きですが、他のオプションも用意されています。

私の考えは、Windows XPマシン上で動作するサーバープロセスを実装することです。このサーバープロセスに要求をリモートから送信し、ワークフローを自動的に実行することができます。

答えて

1

autoitという驚くべきWindows GUI自動化ツールがあります。 http://www.autoitscript.com/site/autoit/

+0

私はこのアドバイスを強くお勧めします。 Autoitはこの目的のために作られたものであり、Javaはそうではありませんでした。このためにJavaを使用しようとした場合は、JNIまたはJNAを使用してOSコールを作成するか、必要に応じてAutoItとJavaをリンクする必要があります。この回答に1+ –

+0

AutoItとJavaをリンクする方法についての情報はありますか? –

+0

この回答はかなり古いですが、最近のより良い選択肢がありますか? – EndermanAPM

0

AutoItをJavaにリンクする方法について尋ねました。私の目的として、ProcessBuilderを使用してProcessを作成した後、Processes InputStreamとErrorStreamを取得し、これらのストリームを別のスレッドで処理してください。私はAutoItにInputStreamを使ってJavaプログラムと通信します。このための良い記事(少し古いが)はこれです:When Runtime.exec() won't。プロセスがバックグラウンドスレッドで実行され、2つのストリームがそれぞれのスレッドで読み取られることを確認することが重要です。 Swing GUIでこれを行う場合、すべてのSwing呼び出しがメインのSwingイベントスレッドであるEDTに対して行われるように特別な注意を払わなければなりません。

関連する問題