TestFX使用弹出窗口

时间:2018-02-13 09:27:53

标签: java javafx automated-tests testfx

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

有没有办法浏览弹出窗口,通过它的列?

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

结构是:Scene,Popup,HBox,VBox,Cells。 实际上有一个包含数据库列的弹出窗口。 Popup的内容是HBox和VBox。 (表)我想访问单元格的内容。使用" clickOn"在文本上没有工作,但如果我得到单元格的内容,我可以移动" TAB"翻过它,然后按" ENTER"

如果我对此做了一个sysout:

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], 

1 个答案:

答案 0 :(得分:0)

通过带有行/列的弹出窗口导航可以通过两种方式完成:

1)模拟向下/向上/向左/向右箭头按下:

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

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

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

<强>更新

根据你的println表达式及其结果,我手工绘制了你桌子的下一个模型:

enter image description here

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

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