TestFX 使用弹出窗口

TestFX working with popup

我在 JavaFX 中有一个场景,其中 CustomTextField 具有自动完成功能。当用户输入时,会打开一个包含更多列的弹出窗口。我在 TestFX 中完成了一个自动场景 正在输入 CustomTextField.

有什么方法可以通过弹出窗口的列进行导航吗?

clickOn(article2SearchTxt);
write(cfgUiTest.article2SearchVal);
push(KeyCode.ENTER);

结构为:Scene、Popup、HBox、VBox、Cells。 实际上有一个弹出窗口,其中包含来自数据库的列。 Popup 的内容是 HBox 和 VBox。 (a table) 我想访问单元格的内容。使用 "clickOn" 文本不起作用,但如果我得到单元格的内容,我可以使用 "TAB" 移动它并按 "ENTER"

如果我对此进行系统输出:

System.out.println(((PopupColumn) ((VBox) IntellitaxUI.getPopup().getContentHBox().getChildren().get(5)).getChildren().get(2)).getItems());

我获得了单元格的内容,但在 TextFlow 中。我可以得到它的内容吗?

selectedItem popupcontent selectedItem], TextFlow@7f3d205f[styleClass=popupcontent selectedItem], TextFlow@761997b6[styleClass=popupcontent selectedItem], TextFlow@777a8ef1[styleClass=popupcontent selectedItem], TextFlow@6a680ebb[styleClass=popupcontent selectedItem], TextFlow@50f69067[styleClass=popupcontent selectedItem], 

通过 rows/columns 的弹出窗口导航可以通过两种方式完成:

1) 模拟 DOWN/UP/LEFT/RIGHT 箭头按下:

press(KeyCode.DOWN).release(KeyCode.DOWN);

2) 模拟鼠标单击或双击特定文本:

clickOn("expected text");
doubleClickOn("expected text");

更新:

根据你的println表达式和它的结果我手画你的下一个模型table:

我能看到的是每个单元格中 TextFlow 控件的集合。这是正确的吗?单元格中可能只有一个 TextFlow

顺便说一句,为什么不使用标准 TableView control 来表示数据库数据?