2011-12-29 8 views
0

テスト中のアプリケーションを操作するためにjava.awt.Robotを使用するカスタムテストランナーを修正しています。
それぞれの最も簡単な操作(いくつかのコンポーネントへのマウスモット、マウスクリック)の後、テスト中のアプリケーションのテストランナーTO WAITがテストのイベントを処理する必要があります。そして、それだけで値をチェックし、他のボタンをクリックし続けます。
イベントキューが空になるのを待つことができるRobot.waitForIdle()関数があります。
しかし、私はまだ初期チェック値(いくつかのバックグラウンドスレッドではなく非常にEDTスレッドで計算された値を仮定しよう)のために同期に問題があります。
これはRobotがイベントを直接イベントキューに入れていないためですが、これは基盤となるOSがRobotによって生成された新しいイベントをJVMイベントキューに置くことに賛成です。このネイティブコールは非同期であるため、SwingUtilities.invokeLater()のようなJVMスレッドではイベントキューに新しいイベントを投入することはできません。テストランナーをテスト対象アプリケーションと同期する

基本OSが新しいイベントをイベントキューに入れるかどうかを判断したり、待機するためにいくつかのフックを実装することは可能でしょうか?
何か不足していますか?

ありがとうございました。

答えて

関連する問題