Jubula - 带有列的 CheckboxTreeViewer.选择特定的列和行

Jubula - CheckboxTreeViewer with columns. Selecting specific Column & Row

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

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

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

尝试过使用Observation模式来实现,但也无法识别组件。

提前感谢您的帮助。

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

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

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

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

的对象

组件类型:树组件 组件名称:Object_Mapped_checkboxTreeViewer 操作类型,"Click in Component"。

由于我的 select 的特定列有一个侦听器,用于 select 在单击鼠标时进行所有检查,我将测试步骤设置为 X 位置 [整数]:2 和 Y 位置 [整数] ] 2 并将 x 单位 [String] 和 y 单位 [String] 保留为 "percent" 的默认值。每次单击都将发生在树组件的完全相同位置,因此这实际上充当按钮 selection 通过鼠标单击

希望这对其他人有帮助。