2012-03-02 12 views
0

Java Swingアプリケーションを自動化するためにUISpec4Jを使用しようとしています。私は、メインウィンドウ取得しようとしていますUISpec4Jを使用してすべてのウィンドウを取得する

setAdapter(new MainClassAdapter(Main.class, new String[0])); 

:アダプターのセットアップ後

Window mainWindow = getMainWindow(); 

代わりのログインダイアログを、私は、アプリケーションのロゴとスプラッシュスクリーンを取得しています。このダイアログを手動で呼び出すすべての試みは失敗しました。

開いているダイアログ/ウィンドウのリストを取得するにはどうすればよいですか?

答えて

1

MainClassAdapterは一連のウィンドウを処理するようには設計されていません。ただし、スプラッシュ画面を無視し、後続のウィンドウを返す独自のアダプタを実装することはできます。以下は、UISpec4J forumsから取られたサンプルです:

setAdapter(new UISpecAdapter() { 
    public Window getMainWindow() { 
     final Window[] result = new Window[1]; 
     WindowInterceptor.init(new MainClassTrigger(Main.class, new String[0])) 
      .processTransientWindow() 
      .process(new WindowHandler() { 
       public Trigger process(Window window) throws Exception { 
       result[0] = window; 
       return Trigger.DO_NOTHING; 
       } 
      }) 
     .run(); 
     return result[0]; 
    } 
});