Class ApplicationTest

java.lang.Object
org.testfx.api.FxRobot
org.testfx.framework.junit.ApplicationTest
All Implemented Interfaces:
org.testfx.api.FxRobotInterface, ApplicationFixture

public abstract class ApplicationTest extends org.testfx.api.FxRobot implements ApplicationFixture
The base class that your JUnit test classes should extend from that interact with and/or verify the state of a JavaFX UI. Such test classes, containing one or more @Test-annotated methods (individual test cases), can interact with a JavaFX UI using the FxRobot methods that test class will inherit (as it extends ApplicationTest (this class) which extends FxRobot). Verifying the state of the UI can be accomplished by using either the Hamcrest based FxAssert.verifyThat(T, org.hamcrest.Matcher<? super T>) or the AssertJ based Assertions.assertThat(Node).

Example:


 public class ColorSelectorTest extends ApplicationTest {

     Stage stage;
     ColorPicker colorPicker;

     {@literal @}Override
     public void start(Stage stage) throws Exception {
         this.stage = stage;
     }

    {@literal @}Before
     public void beforeEachTest() throws Exception {
         Platform.runLater(() -> {
             colorPicker = new ColorPicker(Color.BLUE);
             StackPane stackPane = new StackPane(colorPicker);
             Scene scene = new Scene(root, 800, 800);
             stage.setScene(scene);
             stage.show();
         });
        WaitForAsyncUtils.waitForFxEvents();
     }

     {@literal @}Test
     public void shouldAllowUserToChangeColor() {
         // when:
         clickOn(colorPicker);
         type(KeyCode.DOWN);
         type(KeyCode.DOWN);

         // then:
         assertThat(colorPicker.getValue()).isEqualTo(Color.TEAL);
     }
 }
 
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
     
    final void
     
    final void
     
    static javafx.application.Application
    launch(Class<? extends javafx.application.Application> appClass, String... appArgs)
     
    void
    start(javafx.stage.Stage stage)
     
    void
     

    Methods inherited from class org.testfx.api.FxRobot

    bounds, bounds, bounds, bounds, bounds, bounds, bounds, bounds, bounds, capture, capture, capture, capture, capture, capture, clickOn, clickOn, clickOn, clickOn, clickOn, clickOn, clickOn, clickOn, clickOn, clickOn, clickOn, closeCurrentWindow, doubleClickOn, doubleClickOn, doubleClickOn, doubleClickOn, doubleClickOn, doubleClickOn, doubleClickOn, doubleClickOn, doubleClickOn, doubleClickOn, doubleClickOn, drag, drag, drag, drag, drag, drag, drag, drag, drag, drag, drag, drop, dropBy, dropTo, dropTo, dropTo, dropTo, dropTo, dropTo, dropTo, dropTo, dropTo, dropTo, eraseText, from, from, from, fromAll, interact, interact, interactNoWait, interactNoWait, interrupt, interrupt, listTargetWindows, listWindows, lookup, lookup, lookup, moveBy, moveTo, moveTo, moveTo, moveTo, moveTo, moveTo, moveTo, moveTo, moveTo, moveTo, offset, offset, offset, offset, offset, offset, offset, offset, offset, point, point, point, point, point, point, point, point, point, press, press, push, push, release, release, rightClickOn, rightClickOn, rightClickOn, rightClickOn, rightClickOn, rightClickOn, rightClickOn, rightClickOn, rightClickOn, rightClickOn, rightClickOn, robotContext, rootNode, rootNode, rootNode, scroll, scroll, scroll, scroll, scroll, sleep, sleep, targetPos, targetWindow, targetWindow, targetWindow, targetWindow, targetWindow, targetWindow, targetWindow, targetWindow, type, type, window, window, window, window, window, window, write, write, write

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.testfx.api.FxRobotInterface

    clickOn, clickOn, clickOn, clickOn, clickOn, clickOn, clickOn, clickOn, clickOn, clickOn, doubleClickOn, doubleClickOn, doubleClickOn, doubleClickOn, doubleClickOn, doubleClickOn, doubleClickOn, doubleClickOn, doubleClickOn, doubleClickOn, moveBy, moveTo, moveTo, moveTo, moveTo, moveTo, moveTo, moveTo, moveTo, moveTo, moveTo, moveTo, moveTo, offset, offset, offset, offset, offset, offset, offset, offset, offset, rightClickOn, rightClickOn, rightClickOn, rightClickOn, rightClickOn, rightClickOn, rightClickOn, rightClickOn, rightClickOn, rightClickOn