我在按钮栏中有 2 个文本字段。我已经给了两个 fxid。两个文本字段彼此相邻。
左边的文本字段有一个 fx:id
新列
虽然右侧的 texfield 具有 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-alpha
中得到纠正。和 testfx-junit5
对于依赖项。
关于java - 为什么没有单击正确的 TextField TestFX?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59330288/