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

2024-01-02

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


这是一个例子Alert基于对话框:

在你的测试中:

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);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TestFx - 如何测试没有 id 的验证对话框 的相关文章

  • 如何使 BottomSheetDialog 匹配父级高度(全屏)

    这是我使用的布局
  • Dojo Dijit 对话框相对位置。是否可以?

    我想将 Dojo 的 Dijit Dialog 相对于我的 html 元素之一定位 是否可以 如果是 如何 目前它总是在视口中间显示对话框 任何人都可以帮助我解决此事吗 Thanks 阿玛尔4金图 我这样做的另一种方法 不是很好 因为我重写
  • 是否可以对 jQuery UI 对话框小部件的显示/隐藏方法进行更精细的控制?

    目前 在使用对话框小部件时 我似乎只能以最基本的形式使用效果 例如 以下将使用放置效果来显示和隐藏对话框 dialog dialog show drop hide drop 但是 drop 方法的默认值始终落在左侧 我真正想要的是让它下降到
  • Netbeans GUI 预览与运行时视图不同

    我正在使用 NetBeans 及其 GUI 编辑器开发一个简单的 Java 应用程序 我坚持创建一个简单的对话框 运行时它看起来与我设计的以及编辑器中预览的不同 基本上 单击按钮就会出现我的对话框 private void jButton1
  • 关闭父级而不关闭子级

    我有一个项目 其中弹出一个设置对话框 父级 当用户点击 继续 时 将打开一个主对话框 子级 在主对话框中 用户可以重新编辑设置对话框 父级 当用户单击 X 关闭设置对话框时 应用程序终止 我认为这是因为我们关闭了父级并处理了它的所有子级 是
  • jQuery 热键 - 解除绑定?

    我有一个 jQuery 对话框 它初始化热键如下 循环从 1 到 9 问题是 如果您关闭对话框然后重新打开对话框 它不断重新绑定 因此当您按下 1 键时 它会运行两次 三次 四次等 它会不断增长 我尝试杀死对话框上的键绑定关闭 docume
  • 如何显示非模式对话框并立即在其中显示信息?

    我想在屏幕上显示一个无模式对话框并在其中显示一些信息 但是 如果我按照以下方式使用它 则会出现一些问题 function showdialog XXX heavy work update the dialog heavy work upda
  • Android 对话框,按下按钮时保持对话框打开

    我想在按下按钮时保持对话框打开 目前正在关闭 AlertDialog Builder builder new AlertDialog Builder this builder setMessage Are you sure you want
  • select2 插件不在 jquery 模式对话框内时工作正常

    我在 jquery 对话框中使用 select2 插件 但不起作用 当下拉时 焦点移动到输入控件 但立即离开它 不允许我输入任何内容 这是 HTML div title Asignar servicios a usuarios div
  • Android - 自定义对话框 - 无法从 EditText 获取文本

    我的自定义对话框有问题 我的对话框包含一个TextView EditText和一个 确定 按钮 单击 确定 后 它应该从 EditText 字段获取文本并将其分配给活动中定义的字符串变量 name 一切似乎都正常 没有错误等 但是 文本 始
  • 设置默认 JavaFX 对话框的样式

    我正在寻找一种方法来设置默认 JavaFX 对话框的样式 javafx scene control Dialog 我尝试获取 DialogPane 并添加样式表 但它只覆盖了对话框的一小部分 我更喜欢仅使用外部 css 文件设置样式 而不在
  • CKEditor 3.x - 动态添加 UI 元素到插件对话框

    我正在构建一个 CKEditor 3 x 插件 它允许通过与我们的后端系统绑定的单独查看器应用程序有条件地显示 HTML 的某些部分 我的 CKEditor 插件将用于定义这些条件 但我对如何动态地将 UI 元素添加到插件对话框感到困惑 在
  • 使对话框/活动始终位于顶部

    如何将对话框 活动保持在其他活动之上 无论用户是否在活动之间切换 它都应该始终处于活动状态 您可以使用相对布局作为父级 通过使用相对布局 您可以重叠其他布局 所以 你必须使用相对布局的两个子布局 在一个孩子中 您将弹出窗口 而在另一种布局中
  • 在显示另一个对话框之前隐藏所有可见的 Metro 对话框

    我在用着MahApps Metro http mahapps com在我的 WPF 项目中 我正在构建一个类来帮助我展示Dialogs http mahapps com controls dialogs html 我想知道是否有一种方法可以
  • 使用 qTip2 确认工具提示对话框?

    因此 当用户单击删除按钮时 我尝试创建一个小型确认对话框 内联 工具提示 我想象它看起来有点像这样 但带有小文本和 确定 和 取消 按钮 但我不是来问如何设计它的 我更喜欢使用 qTip2 作为该工作的插件 但如果你有更好的选择 我也会选择
  • 用于配置编辑的 wix 自定义对话框

    你好 我正在尝试使用 wix v3 为我的应用程序设置 msi 我对这项任务有疑问 我需要一个用户输入 该输入将存储在我的应用程序的配置文件中 例如 我需要一个用于 sql 连接字符串的对话框 并且用户输入将写入应用程序配置文件中 我尝试用
  • Angular 模态对话框最佳实践

    与不具有动态内容的对话框相比 创建具有动态内容的模式对话框的最佳实践是什么 例如 我们有一些模式表单接受表单元素列表 并具有提交 取消功能 此外 还有一些模式对话框仅显示确认 确定类型的操作 我见过很多人说对话框应该是传递到控制器的服务 但
  • 为什么我的单选按钮不起作用?

    我正在 Visual C 2005 中开发 MFC 对话框应用程序 我的单选按钮是 m Small m Medium 和 m Large 它们都没有在我的 m Summary 编辑框中显示应有的内容 可能出什么问题了 这是我的代码 Pizz
  • Primefaces 对话框渲染两次

    我创建了一个 ui component 来像弹出窗口一样使用 因此我可以使用此模板的标准创建很多弹出窗口 该组件只是一个带有两个按钮 取消和提交 的弹出窗口和一个可以覆盖的内容 如下所示
  • 如何使用 jquery-ui 创建对话框而不指定 html div

    使用 jquery ui 创建对话框非常简单 div title Basic dialog p This is the default dialog which is useful for displaying information Th

随机推荐