gpt4 book ai didi

dialog - TestFx - 如何测试没有 id 的验证对话框

转载 作者:行者123 更新时间:2023-12-02 03:12:54 27 4
gpt4 key购买 nike

我有一个带有记录网格和按钮插入的应用程序。单击“插入”后,会出现一个表单,您可以在其中填写数据并单击“确定”以将新记录添加到网格中。单击“确定”后,如果任何文本字段与验证规则不匹配,验证将触发包含错误信息的对话框。如果对话框没有 id,是否有任何可能的方法可以使用 textFx 测试对话框上的文本?

最佳答案

这是基于Alert 的对话框的示例:

enter image description here

在您的测试中:

alert_dialog_has_header_and_content(
"Removing 'Almaty' location", "Are you sure to remove this record?");

在你的助手测试类中:

public void alert_dialog_has_header_and_content(final String expectedHeader, final String expectedContent) {
final javafx.stage.Stage actualAlertDialog = getTopModalStage();
assertNotNull(actualAlertDialog);

final DialogPane dialogPane = (DialogPane) actualAlertDialog.getScene().getRoot();
assertEquals(expectedHeader, dialogPane.getHeaderText());
assertEquals(expectedContent, dialogPane.getContentText());
}

private javafx.stage.Stage getTopModalStage() {
// Get a list of windows but ordered from top[0] to bottom[n] ones.
// It is needed to get the first found modal window.
final List<Window> allWindows = new ArrayList<>(robot.robotContext().getWindowFinder().listWindows());
Collections.reverse(allWindows);

return (javafx.stage.Stage) allWindows
.stream()
.filter(window -> window instanceof javafx.stage.Stage)
.filter(window -> ((javafx.stage.Stage) window).getModality() == Modality.APPLICATION_MODAL)
.findFirst()
.orElse(null);
}

关于dialog - TestFx - 如何测试没有 id 的验证对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48565782/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com