TestFX测试通过令人头疼,但无头无人

时间:2017-10-24 14:36:35

标签: java 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 个答案:

没有答案
相关问题