/** * Runs a sample test procedure * * @param robot the robot attached to the screen device */ public static void runTest(Robot robot) { // simulate a space bar press robot.keyPress(' '); robot.keyRelease(' '); // simulate a tab key followed by a space robot.delay(2000); robot.keyPress(KeyEvent.VK_TAB); robot.keyRelease(KeyEvent.VK_TAB); robot.keyPress(' '); robot.keyRelease(' '); // simulate a mouse click over the rightmost button robot.delay(2000); robot.mouseMove(200, 50); robot.mousePress(InputEvent.BUTTON1_MASK); robot.mouseRelease(InputEvent.BUTTON1_MASK); // capture the screen and show the resulting image robot.delay(2000); BufferedImage image = robot.createScreenCapture(new Rectangle(0, 0, 400, 300)); ImageFrame frame = new ImageFrame(image); frame.setVisible(true); }
public static void main(String[] s) { JFrame frame = new JFrame("A test frame"); JPanel outputBox = new JPanel(); JButton jButton = new JButton(); frame.setSize(200, 200); frame.addMouseWheelListener( new MouseWheelListener() { public void mouseWheelMoved(MouseWheelEvent e) { System.out.println("Wheel moved on FRAME : " + e); actualEvents++; } }); outputBox.addMouseListener( new MouseAdapter() { public void mousePressed(MouseEvent e) { System.out.println("MousePressed on OUTBOX : " + e); } }); frame.add(outputBox); outputBox.add(jButton); frame.setVisible(true); Util.waitForIdle(robot); Util.pointOnComp(jButton, robot); Util.waitForIdle(robot); for (int i = 0; i < MOVE_COUNT; i++) { robot.mouseWheel(1); robot.delay(10); } for (int i = 0; i < MOVE_COUNT; i++) { robot.mouseWheel(-1); robot.delay(10); } Util.waitForIdle(robot); // Not fair to check for multiplier 4 as it's not specified actual number of WheelEvents // result in a single wheel rotation. if (actualEvents != EXPECTED_COUNT) { AbstractTest.fail( "Expected events count: " + EXPECTED_COUNT + " Actual events count: " + actualEvents); } }
public void start() { menu.setMnemonic('f'); submenu.setMnemonic('m'); menu.add(submenu); submenu.add(item); bar.add(menu); frame.setJMenuBar(bar); frame.pack(); item.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { Sysout.println(e.toString()); synchronized (activated) { activated.set(true); activated.notifyAll(); } } }); frame.setVisible(true); Util.waitForIdle(robot); boolean isMacOSX = (OSInfo.getOSType() == OSInfo.OSType.MACOSX); if (isMacOSX) { robot.keyPress(KeyEvent.VK_CONTROL); robot.delay(20); } robot.keyPress(KeyEvent.VK_ALT); robot.delay(20); robot.keyPress(KeyEvent.VK_F); robot.delay(20); robot.keyRelease(KeyEvent.VK_F); robot.delay(20); robot.keyRelease(KeyEvent.VK_ALT); if (isMacOSX) { robot.keyRelease(KeyEvent.VK_CONTROL); robot.delay(20); } Util.waitForIdle(robot); robot.keyPress(KeyEvent.VK_M); robot.delay(20); robot.keyRelease(KeyEvent.VK_M); Util.waitForIdle(robot); robot.keyPress(KeyEvent.VK_SPACE); robot.delay(20); robot.keyRelease(KeyEvent.VK_SPACE); Util.waitForIdle(robot); if (!Util.waitForCondition(activated, 2000)) { throw new TestFailedException("a submenu wasn't activated by mnemonic key press"); } Sysout.println("Test passed."); }
/** Do screen capture and save it as image */ private static void captureScreenAndSave() { try { Robot robot = new Robot(); Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Rectangle rectangle = new Rectangle(0, 0, screenSize.width, screenSize.height); System.out.println("About to screen capture - " + rectangle); java.awt.image.BufferedImage image = robot.createScreenCapture(rectangle); javax.imageio.ImageIO.write(image, "jpg", new java.io.File("ScreenImage.jpg")); robot.delay(3000); } catch (Throwable t) { System.out.println("WARNING: Exception thrown while screen capture!"); t.printStackTrace(); } }
void test() { robot.waitForIdle(); if (!text.isFocusOwner()) { robot.mouseMove(text.getLocationOnScreen().x + 5, text.getLocationOnScreen().y + 5); robot.delay(100); robot.mousePress(MouseEvent.BUTTON1_MASK); robot.delay(100); robot.mouseRelease(MouseEvent.BUTTON1_MASK); int iter = 10; while (!text.isFocusOwner() && iter-- > 0) { robot.delay(200); } if (iter <= 0) { Sysout.println("Test: text field couldn't be focused!"); return; } } robot.keyPress(KeyEvent.VK_A); robot.delay(100); robot.keyRelease(KeyEvent.VK_A); robot.waitForIdle(); String charA = text.getText(); System.err.println("Test: character typed with VK_A: " + charA); robot.keyPress(KeyEvent.VK_BACK_SPACE); robot.delay(100); robot.keyRelease(KeyEvent.VK_BACK_SPACE); robot.waitForIdle(); if (jdk.testlibrary.OSInfo.getOSType() == jdk.testlibrary.OSInfo.OSType.MACOSX) { robot.keyPress(KeyEvent.VK_CONTROL); } robot.keyPress(KeyEvent.VK_ALT); robot.keyPress(KeyEvent.VK_F); robot.delay(100); robot.keyRelease(KeyEvent.VK_F); robot.keyRelease(KeyEvent.VK_ALT); if (jdk.testlibrary.OSInfo.getOSType() == jdk.testlibrary.OSInfo.OSType.MACOSX) { robot.keyRelease(KeyEvent.VK_CONTROL); } robot.waitForIdle(); String string = text.getText(); robot.keyPress(KeyEvent.VK_I); robot.delay(100); robot.keyRelease(KeyEvent.VK_I); robot.waitForIdle(); Sysout.println("Test: character typed after mnemonic key press: " + text.getText()); if (!text.getText().equals(string)) { throw new RuntimeException("Test failed!"); } robot.keyPress(KeyEvent.VK_A); robot.delay(100); robot.keyRelease(KeyEvent.VK_A); robot.waitForIdle(); System.err.println("Test: chracter typed with VK_A: " + text.getText()); if (!charA.equals(text.getText())) { throw new RuntimeException("Test failed!"); } Sysout.println("Test passed."); }