使用UISpec4J获取所有窗口
我正在尝试使用UISpec4J来自动化Java Swing应用程序。 适配器设置后:
setAdapter(new MainClassAdapter(Main.class, new String[0]));
我想获取主窗口:
Window mainWindow = getMainWindow();
而不是登录对话框,我得到一个带有应用程序徽标的闪屏。 我手动调用此对话框的所有尝试都失败了。
如何获取已打开的对话框/窗口列表?
看起来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]; } });