Получение всех окон с использованием UISpec4J - PullRequest
0 голосов
/ 02 марта 2012

Я пытаюсь использовать UISpec4J для автоматизации приложения Java Swing. После настройки адаптера:

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

Я пытаюсь получить главное окно:

Window mainWindow = getMainWindow();

Вместо диалогового окна я получаю заставку с логотипом приложения. Все мои попытки вызвать этот диалог вручную провалились.

Как мне получить список открытых диалогов / окон?

1 Ответ

1 голос
/ 03 марта 2012

Похоже, 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];
    }
});
...