为什么没有单击正确的 TextField TestFX?

Why isn't the correct TextField being clicked TestFX?

我在按钮栏中有 2 个文本字段。我已经给了两个 fxid。两个文本字段彼此相邻。

左侧文本字段有一个 fx:id newCol 虽然右边的 texfield 有 fx:id 的 Name

我正在做以下测试

 @Test
    public void ensureNewColIsCreated() {
        clickOn("#newCol").write("To do list!");
        sleep(2000);
        clickOn("#Name").write("New page");
        sleep(2000);
    }

预期的结果应该是它首先进入左侧的文本字段,右侧的命令。然后它应该在正确的文本字段中键入另一条消息。

然而,在将第一条消息输入到左侧文本字段后,应该输入到右侧文本字段中的下一条消息也被输入到左侧文本字段中。就在第二条消息之前,鼠标确实稍微向右移动了。

现在当我如下所示交换两行时

 @Test
    public void ensureNewColIsCreated() {
        clickOn("#Name").write("To do list!");
        sleep(2000);
        clickOn("#newCol").write("New page");
        sleep(2000);
    }

消息应首先输入到正确的文本字段中。但是,它仍然被输入到左侧的文本字段中。两条消息都是。

如果我只是在不指定 fx:id 的情况下执行以下操作,它仍然会在左侧文本字段中输入

@Test
    public void ensureNewColIsCreated() {
        write("Test");
    }

我猜我在使用 testfx 时大错特错了,因为我对它还很陌生,而且这是我第一次进行任何类型的测试。如果有人能帮助我,那就太好了。

编辑:好的,我通过让测试点击我关闭应用程序的按钮再次测试了它,但是它没有这样做表明测试没有点击我给它的 fx:ids。为什么会这样?我不知道。

好的,所以它不起作用的原因是因为我将 4.0.13-alpha 用于 testfx-core,将 testfx-junit4 用于依赖项以及 jdk 11。但是,如果我错了,请有人纠正我,但是与 mouseMove 相关的任何事情在 jdk 11 上都无法正常工作,所有这些都在 4.0.15-alphatestfx-junit5 中针对依赖项进行了更正。