2012-03-02 72 views
0

我試圖使用UISpec4J來自動執行Java Swing應用程序。適配器設置後:使用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]; 
    } 
});