1

背景:我只是在学习 Coded UI。这是来自使用 VS 12 的 WPF 中的一个简单测试应用程序。

我创建了一个编码的 UI 测试项目和一个编码的 UI 测试。

我记录了打开应用程序,单击按钮,然后关闭应用程序,它将在测试运行中运行。

现在我想向 Treeview 添加一个断言。场景是用户打开一个文件,它加载了一个树视图,我想确保树视图中至少有一个项目。

所以我运行 exe,打开 Coded UI Test Builder 并将十字准线拖到 Treeview。它成功地突出了 TreeView。然后显示添加断言对话框。

Treeview 显示在 Dialog 中,但没有 ItemsSource 的“控件特定”属性。它仅显示 5 个控件特定属性,例如 HelpText、AccessKey 等。

我可以为 HelpText 添加一个断言,但这不是我们所需要的。

那么问题来了,为什么 ItemsSource 没有显示在断言对话框中?

我如何让它显示?

4

1 回答 1

0

将十字准线工具拖到 UI 控件上后,将显示断言对话框。Add Assertion 按钮的右侧有四个箭头,排列为上、下、左和右。单击这些允许所选控件在兄弟(左和右)、祖先(上)和子(下)之间进行更改。使用这些按钮来探索树控件。我不知道您正在查看的特定树中的“ItemsSource”是什么,即使它是实现或 API 的一部分,它也可能不是树的公开属性。树的某些部分可能还有其他属性具有您需要的值。

我不相信 Coded UI 可以生成断言来测试树是否包含至少一个项目。我相信您将需要手动编写该部分的代码。我的第一个想法是获取树的 UIControl 对象,然后使用它的GetChildren方法在树中查找项目。这可能需要递归才能获取树中的所有元素。

于 2013-08-07T14:05:38.143 回答