java - 按(KeyCode.Enter) 不能多次使用 TestFX?

标签 java testing javafx testfx

我正在使用 junit5 Testfx 和 jdk 11。我有以下测试

@Test
    void should_contain_button_with_text(FxRobot robot) {
            robot.clickOn("#newCol").write("Done");
            robot.press(KeyCode.ENTER);
            robot.clickOn("#newCard").write("Cleaning");
            press(KeyCode.ENTER);
            robot.sleep(2000);
    }

newColnewCard 都是文本字段。

预期结果应该是机器人首先转到 newCol,按 Enter 键后,它应该转到 newCard 并执行相同的操作。

但是,它转到 newCol 并按 Enter 即可,但在第二次按时它不起作用。为什么会这样呢。 press(KeyCode) 只能按一次吗?

如果有人可以帮助我,我将非常感激。

最佳答案

正如 @Slaw 建议的那样,您首先必须释放 key 才能再次使用它。

 robot.press(KeyCode.ENTER).release(KeyCode.ENTER);

上面的方法就成功了。对于任何其他关键操作也是如此。

关于java - 按(KeyCode.Enter) 不能多次使用 TestFX?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59336262/

相关文章:

java - 从 Controller 获取窗口标题

Scalatest 检查除以 0(异常)

java - 通过表达式或某种解决方法的双向属性绑定(bind)

JavaFX 表/树表单元格溢出

java - 按钮操作延迟或退出后执行

java - 在 Spring Data 中分离实体

java - 在scala中实现泛型通用接口(interface)

python - 如何使用 python simple-salesforce 测试插入/更新是否成功

unit-testing - 为什么在 JMock 中使用 .proxy()?

JavaFX改变场景保持全屏