Тесты TestFX проходят всесторонне, но безрезультатно

Я пытаюсь написать GUI-тесты для моего университетского проекта. Я пытаюсь сделать это с помощью TestFX 4.0.4, но у меня возникла проблема. Для проекта мы также обязаны использовать постоянную интеграцию с Travis. Это означает, что я должен сделать тесты GUI без головы. Однако, когда я пытаюсь выполнить свои тесты без головы, они терпят неудачу, в то время как они проходят, когда они наполняют голову.

Это код, который я использую для запуска теста без головы:

@BeforeClass
public static void setupHeadlessMode() {
    System.setProperty("testfx.robot", "glass");
    System.setProperty("testfx.headless", "true");
    System.setProperty("prism.order", "sw");
    System.setProperty("prism.text", "t2k");
    System.setProperty("java.awt.headless", "true");
}

Тест, который я запускаю, щелкает по кнопке optionsButton, которая переключает сцену в меню параметров и затем должна нажимать кнопку musicButton, чтобы переключать, играет ли музыка. Переключатель сцены может вызвать сбой в этом случае, но я не знаю, как мне этого избежать. Это тестовый код:

@Test
public void testMusicPlaying() {
    clickOn("#optionsButton");
    assertThat((boolean) ConfigLoader.get("musicPlaying")).isTrue();
    clickOn("#musicButton");
    assertThat((boolean) ConfigLoader.get("musicPlaying")).isFalse();
    clickOn("#musicButton");
    assertThat((boolean) ConfigLoader.get("musicPlaying")).isTrue();
}

0 ответов

Другие вопросы по тегам