2

我正在编写一个带有菜单栏的 JavaFX 应用程序。我已经给出了菜单项 CSS id,我想使用 TestFX 来点击它们。这是代码:

clickOn("#menu-file").clickOn("#menu-file-new-project");

当我运行它时,我可以看到我的鼠标移动到屏幕上完全错误的位置,然后测试失败,说它找不到任何匹配的元素#menu-file-new-project。我假设它找不到它们,因为它永远不会打开“文件”菜单,因为它点击了错误的位置。

我该怎么办?Windows 10、Java 8u120、TestFX 4.0.6。对于记录,它在单片无头模式下以相同的方式失败

4

1 回答 1

0

好的,这与规模无关,我什至不确定它为什么会起作用,但是在我的测试应用程序实例中按如下方式覆盖 point 方法似乎由于某种原因起作用:

@Override
public PointQuery point(Node node) {
    Point2D topLeftPoint = node.localToScreen(0, 0);
    Point2D pos = new Point2D(topLeftPoint.getX(), topLeftPoint.getY());

    return super.point(node).atOffset(pos);
}
于 2017-05-31T00:40:34.590 回答