我在这里挠头,试图让我的 TestFX 机器人点击 a Menu
,然后点击MenuItem
.
上述类都不是派生自,Node
所以我不能使用fxRobot.clickOn(Node node)
.
有没有人知道如何做到这一点?除了简单地使用 TextMatcher,它在整个范围内进行搜索。
带有菜单的 MenuBar 示例:
<MenuBar fx:id="mainMenuBar">
<menus>
<Menu mnemonicParsing="false" style="-fx-font-weight: bold;" text="MainMenu">
<items>
<MenuItem mnemonicParsing="false" style="-fx-font-weight: normal;" text="About" />
<MenuItem mnemonicParsing="false" style="-fx-font-weight: normal;" text="Exit" />
</items>
</Menu>
我将如何实现机器人点击顶部Menu
(最好通过菜单的可见文本)和里面的 menuItem(也最好通过视觉文本选择)
选择框示例:
<ChoiceBox fx:id="myChoices" />
它的项目是从我的控制器动态填充的:
@FXML private ChoiceBox myChoices;
@FXML
public void initialize() {
List<String> items = ItemsRepo.getItems();
myChoices.setItems(FXCollections.observableArrayList(items))
}
我可以先通过它的fx:id
. 但是我将如何选择其中一项?最好从项目可见的文本中。项目文本可能会干扰应用程序内的其他文本。所以我想确保我点击了选择框项目之一,而不是其他一些文本。
问候