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);
  }
Beispiel #2
0
  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();
  }