1

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

左边的文本字段有一个 fx:id newCol 而右边的 texfield 有一个 fx:idName

我正在做以下测试

 @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

1 回答 1

0

好的,所以它不起作用的原因是因为我在 jdk 11 中使用4.0.13-alpha了 fortestfx-coretestfx-junit4for 依赖项。但是,如果我错了,请有人纠正我,但是与 mouseMove 相关的任何事情在 jdk 11 上都无法正常工作所有这些都在依赖关系4.0.15-alpha中得到纠正。testfx-junit5

于 2019-12-13T23:12:45.087 回答