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

左侧文本字段具有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中针对依赖性进行了所有纠正。

09-25 15:18