1

我们最近将 Eclipse RCP 应用程序中的一个元素从 TableViewer 转换为 CheckboxTreeViewer,并且正在更新 Jubula 中的 GUI 测试。

但是,测试失败了,因为它们不再将 CheckboxTreeviewer 组件识别为表格。并且 Tree 组件(据我所见)无法选择列和行(正如我们之前的测试所做的那样),这会有所帮助,并且 Jubula 不会将我们的组件识别为允许执行此操作的 Table 组件。

关于如何实现这一点的任何建议。想要选择第 1 列第 0 行来选择所有行。想要单击列和行以检查标签的内容。还想在 checkboxTreeViewer 行和列中向上/向下箭头选择以测试选择值。indexPath 的选择不起作用,因为这本质上是一个带有表格的列的 Treeviewer。它不是 SWT TreeTable,而是带有列标签提供程序的 JFace CheckboxTreeviewer。

已经尝试使用观察模式来实现这一点,但它也不识别组件。

提前感谢您的帮助。

  • 马夫
4

2 回答 2

0

如果观察模式无法识别组件,那么控制它的唯一方法是通过键盘命令。但它并不稳定,因为如果元素数量发生变化,您的测试可能会错误地提醒您。

我建议您在 CheckboxTreeViewer 下方放置一个 Select All/None 按钮以继续您的测试。

在这些控件上方放置一个文本过滤器对用户来说也很方便,也会对你有所帮助。您可以让 Jubula 点击过滤结果(它将是第一项);使用具有准确 x、y 位置的 click 测试步骤来切换它的值。

于 2017-05-12T15:46:33.267 回答
0

在这种情况下,我最终将每个新的 CheckboxTreeViewers 对象映射为树组件,然后使用鼠标单击 - 测试步骤应用于具有

组件类型:树组件组件名称:Object_Mapped_checkboxTreeViewer 操作类型,“单击组件”。

由于我要选择的特定 Column 有一个侦听器,用于在单击鼠标时选择所有检查,因此我使用 X 位置 [Integer]: 2 和 Y Position [Integer] 2 设置测试步骤设置,并留下 x 单位 [String] 和 y-单位 [String] 作为“百分比”的默认值。每次单击都将发生在 Tree 组件的完全相同的位置,因此这实质上是通过鼠标单击进行的按钮选择

希望这对其他人有帮助。

于 2017-06-29T11:42:36.690 回答