TestFX — проверка, открывается ли сцена при нажатии кнопки (JavaFX — IntelliJ)

Я пытаюсь протестировать приложение Java FX в IntelliJ и использую TestFX, однако я не уверен, как проверить, открывается ли окно при нажатии кнопки на интерфейсе. Я попытался создать геттер, чтобы получить первичную стадию, а затем утвердил True, что это открывается, однако это не та стадия, которая все равно должна появляться при нажатии кнопки.

Любой совет/помощь?

Спасибо.


person Harry    schedule 17.03.2018    source источник


Ответы (1)


Если вы просто хотите проверить, показывает ли порожденное окно, это должно сделать это (используя сопоставители Hamcrest):

FxAssert.verifyThat(window("My Window"), WindowMatchers.isShowing());

Если вы хотите на самом деле взаимодействовать с этим окном или протестировать его, вам следует попробовать использовать один из методов targetWindow(...) FXRobot (из которого происходят ApplicationTest и ApplicationRule). Существуют перегрузки сервера, но самый простой из них — указать заголовок окна:

https://testfx.github.io/TestFX/docs/javadoc/testfx-core/javadoc/org.testfx/org/testfx/api/FxRobot.html#targetWindow(java.lang.String )

Это даст вам экземпляр FXRobot для сцены этого окна, чтобы вы могли выполнить дальнейшее тестирование.

Примечание: этот ответ относится к TestFX 4.

person ShaunB    schedule 16.10.2019