- 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 theFxRobot
methods that test class will inherit (as it extendsApplicationTest
(this class) which extendsFxRobot
). Verifying the state of the UI can be accomplished by using either the Hamcrest basedFxAssert.verifyThat(T, org.hamcrest.Matcher<? super T>)
or the AssertJ basedAssertions.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 ApplicationTest()
-
Method Summary
Modifier and Type Method Description void
init()
void
internalAfter()
void
internalBefore()
static void
launch(Class<? extends javafx.application.Application> appClass, String... appArgs)
void
start(javafx.stage.Stage stage)
void
stop()
-
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
-
-
-
-
Method Detail
-
launch
public static void launch(Class<? extends javafx.application.Application> appClass, String... appArgs) throws Exception
- Throws:
Exception
-
init
public void init() throws Exception
- Specified by:
init
in interfaceApplicationFixture
- Throws:
Exception
-
start
public void start(javafx.stage.Stage stage) throws Exception
- Specified by:
start
in interfaceApplicationFixture
- Throws:
Exception
-
stop
public void stop() throws Exception
- Specified by:
stop
in interfaceApplicationFixture
- Throws:
Exception
-
-