0

我正在尝试使用UISpec4J来自动化 Java Swing 应用程序。适配器设置后:

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

我正在尝试获取主窗口:

Window mainWindow = getMainWindow();

我得到的不是登录对话框,而是带有应用程序徽标的启动屏幕。我手动调用此对话框的所有尝试都失败了。

如何获取打开的对话框/窗口的列表?

4

1 回答 1

1

它看起来MainClassAdapter不是为处理一系列窗口而设计的。但是,您可以实现自己的适配器,忽略初始屏幕并返回后续窗口。下面是一个取自 UISpec4J论坛的示例:

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];
    }
});
于 2012-03-03T00:09:39.323 回答