public void doTest() throws Exception { try { robot.waitForIdle(delay); for (DialogOwner owner : DialogOwner.values()) { EventQueue.invokeLater( () -> { createGUI(owner); }); robot.waitForIdle(delay); dialog.activated.waitForFlagTriggered(); assertTrue( dialog.activated.flag(), "Dialog did not trigger " + "Window Activated event when it became visible"); dialog.closeGained.waitForFlagTriggered(); assertTrue( dialog.closeGained.flag(), "The 1st button did not " + "gain focus when the dialog became visible"); dialog.checkUnblockedDialog(robot, ""); robot.waitForIdle(delay); } } finally { EventQueue.invokeAndWait(this::closeAll); } }
private void createGUI() throws Exception { EventQueue.invokeAndWait(this::showParent); robot.waitForIdle(delay); EventQueue.invokeLater(this::showChild); robot.waitForIdle(delay); }
public void doTest() throws Exception { try { dialog.activated.waitForFlagTriggered(); assertTrue( dialog.activated.flag(), "Dialog did not trigger " + "Window Activated event when it became visible"); dialog.closeGained.waitForFlagTriggered(); assertTrue( dialog.closeGained.flag(), "the 1st Dialog button " + "did not gain focus when it became visible"); assertTrue( dialog.closeButton.hasFocus(), "the 1st Dialog button " + "gained the focus but lost it afterwards"); dialog.checkUnblockedDialog(robot, "Modal Dialog shouldn't be blocked."); if ((modalityType == Dialog.ModalityType.APPLICATION_MODAL) || (modalityType == Dialog.ModalityType.DOCUMENT_MODAL) || (modalityType == Dialog.ModalityType.TOOLKIT_MODAL) || dialog.isModal()) { parent.checkBlockedDialog( robot, "Dialog is the parent of a visible " + modalityType + " Dialog."); } else { parent.checkUnblockedDialog( robot, "Dialog is the parent of a visible " + modalityType + " Dialog."); } robot.waitForIdle(delay); } finally { EventQueue.invokeAndWait(this::closeAll); } }
public void doTest() throws Exception { robot.waitForIdle(delay); parent.clickOpenButton(robot); robot.waitForIdle(delay); dialog.activated.waitForFlagTriggered(); assertTrue( dialog.activated.flag(), "Dialog did not trigger " + "Window Activated event when it became visible"); dialog.closeGained.waitForFlagTriggered(); assertTrue( dialog.closeGained.flag(), "the 1st button did not gain focus " + "when the Dialog became visible"); assertTrue( dialog.closeButton.hasFocus(), "the 1st button in the Dialog " + "gained focus but lost it afterwards"); dialog.openGained.reset(); robot.type(KeyEvent.VK_TAB); dialog.openGained.waitForFlagTriggered(); assertTrue( dialog.openGained.flag(), "Tab navigation did not happen properly on Dialog. Open button " + "did not gain focus on tab press when parent frame is visible"); dialog.clickOpenButton(robot); robot.waitForIdle(delay); frame.activated.waitForFlagTriggered(); assertTrue( frame.activated.flag(), "Frame did not trigger activated when " + "made visible. Dialog and its parent frame are visible"); frame.checkUnblockedFrame(robot, "Frame is the parent of a visible Dialog."); window.checkUnblockedWindow(robot, "Frame and its child Dialog are visible."); robot.waitForIdle(delay); EventQueue.invokeAndWait(this::closeAll); }
private static void sync() { try { ExtendedRobot robot = new ExtendedRobot(); robot.waitForIdle(300); } catch (Exception ex) { ex.printStackTrace(); throw new Error("Unexpected Failure"); } }
void doTest() throws Exception { ArrayList<Component> components = new ArrayList(); components.add(button); components.add(buttonLW); components.add(textField); components.add(textArea); components.add(list); components.add(listLW); int keys[]; String OS = System.getProperty("os.name").toLowerCase(); System.out.println(OS); if (OS.contains("os x") || OS.contains("sunos")) { keys = new int[] {KeyEvent.VK_SHIFT, KeyEvent.VK_CONTROL, KeyEvent.VK_ALT, KeyEvent.VK_META}; } else { keys = new int[] {KeyEvent.VK_SHIFT, KeyEvent.VK_CONTROL, KeyEvent.VK_ALT}; } for (Component c : components) { System.out.print(c.getClass().getName() + ": "); Point origin = c.getLocationOnScreen(); int xc = origin.x + c.getWidth() / 2; int yc = origin.y + c.getHeight() / 2; Point center = new Point(xc, yc); robot.delay(robotDelay); robot.glide(origin, center); robot.click(); robot.delay(robotDelay); for (int k = 0; k < keys.length; ++k) { keyPressReceived = false; keyCode = keys[k]; robot.type(keyCode); robot.delay(robotDelay); if (!keyPressReceived) { synchronized (lock) { try { lock.wait(waitDelay); } catch (InterruptedException e) { } } } assertTrue(keyPressReceived, "key press event was not received"); } System.out.println("passed"); } robot.waitForIdle(); frame.dispose(); }
private void doTest() throws Exception { ExtendedRobot robot = new ExtendedRobot(); robot.waitForIdle(1000); final Point cl = combo.getLocationOnScreen(); final Dimension cs = combo.getSize(); SwingUtilities.invokeAndWait( new Runnable() { public void run() { frame.dispose(); } }); robot.waitForIdle(delay); SwingUtilities.invokeAndWait( new Runnable() { public void run() { frame.setSize((int) cl.x - 700 + cs.width, (int) cl.y + cs.height - 5); frame.setVisible(true); } }); robot.waitForIdle(delay * 2); Point comboLocation = combo.getLocationOnScreen(); Dimension comboSize = combo.getSize(); robot.mouseMove((int) comboLocation.x + comboSize.width / 2, (int) comboLocation.y + 5); robot.waitForIdle(delay); robot.mousePress(InputEvent.BUTTON1_MASK); robot.delay(100); robot.mouseRelease(InputEvent.BUTTON1_MASK); robot.waitForIdle(delay); robot.mouseMove((int) comboLocation.x + comboSize.width / 2, (int) comboLocation.y + 60); robot.waitForIdle(delay); robot.mousePress(InputEvent.BUTTON1_MASK); robot.delay(100); robot.mouseRelease(InputEvent.BUTTON1_MASK); robot.waitForIdle(delay); if (!itemStateChanged) { synchronized (itemLock) { try { itemLock.wait(WAIT_EVENT_DELAY); } catch (Exception e) { } } } if (!itemStateChanged) { System.err.println("FAIL: ItemEvent not triggered when mouse clicked on combo box drop down"); passed = false; } if (!passed) { System.err.println("Test failed!"); captureScreenAndSave(); throw new RuntimeException("FAIL"); } else { System.out.println("Test passed!"); } }